From 83168fe1d49c914556c77d804913020a48d9f4db Mon Sep 17 00:00:00 2001 From: Thein Htay Date: Sat, 10 Aug 2024 19:32:43 +0630 Subject: [PATCH] fix : Update clients response format --- REMS.Mapper/ChangeModel.cs | 7 ++--- REMS.Models/Client/ClientRequestModel.cs | 2 +- REMS.Models/Client/ClientResponseModel.cs | 17 +++++++++++- REMS.Modules/Features/Client/DA_Client.cs | 33 +++++------------------ 4 files changed, 28 insertions(+), 31 deletions(-) diff --git a/REMS.Mapper/ChangeModel.cs b/REMS.Mapper/ChangeModel.cs index a02ab8e..a70e58d 100644 --- a/REMS.Mapper/ChangeModel.cs +++ b/REMS.Mapper/ChangeModel.cs @@ -79,9 +79,9 @@ public static Client Change(this ClientRequestModel requestModel) return client; } - public static ClientModel Change(this Client dataModel, User user) + public static ClientResponseModel Change(this Client dataModel, User user) { - var clientResponseModel = new ClientModel + var clientResponseModel = new ClientResponseModel { ClientId = dataModel.ClientId, UserId = dataModel.UserId, @@ -89,7 +89,8 @@ public static ClientModel Change(this Client dataModel, User user) LastName = dataModel.LastName, Address = dataModel.Address, Email = user?.Email, - Phone = user?.Phone + Phone = user?.Phone, + Role = user?.Role }; return clientResponseModel; } diff --git a/REMS.Models/Client/ClientRequestModel.cs b/REMS.Models/Client/ClientRequestModel.cs index 5d0fd69..51c63ea 100644 --- a/REMS.Models/Client/ClientRequestModel.cs +++ b/REMS.Models/Client/ClientRequestModel.cs @@ -4,7 +4,7 @@ namespace REMS.Models.Client; public class ClientRequestModel { - [JsonIgnore] // Completely hides from API schema + [JsonIgnore] //hides from API schema public int? UserId { get; set; } public string? FirstName { get; set; } = null!; diff --git a/REMS.Models/Client/ClientResponseModel.cs b/REMS.Models/Client/ClientResponseModel.cs index ac7dbec..5eb755c 100644 --- a/REMS.Models/Client/ClientResponseModel.cs +++ b/REMS.Models/Client/ClientResponseModel.cs @@ -8,5 +8,20 @@ namespace REMS.Models.Client; public class ClientResponseModel { - public ClientModel Client { get; set; } + //public ClientModel Client { get; set; } + public int ClientId { get; set; } + + public int? UserId { get; set; } + + public string FirstName { get; set; } = null!; + + public string LastName { get; set; } = null!; + + public string? Phone { get; set; } + + public string? Email { get; set; } + + public string? Address { get; set; } + + public string? Role { get; set; } } diff --git a/REMS.Modules/Features/Client/DA_Client.cs b/REMS.Modules/Features/Client/DA_Client.cs index acc089b..83319ba 100644 --- a/REMS.Modules/Features/Client/DA_Client.cs +++ b/REMS.Modules/Features/Client/DA_Client.cs @@ -1,4 +1,5 @@ using Microsoft.EntityFrameworkCore; +using REMS.Database.AppDbContextModels; using REMS.Models; using System.Data; @@ -19,21 +20,13 @@ public async Task> GetClients() var responseModel = new ClientListResponseModel(); try { - //var clients = await _db - // .Clients - // .AsNoTracking() - // .ToListAsync(); - var clients = await _db .Clients .Include(c => c.User) .AsNoTracking() .ToListAsync(); - var clientResponseModel = clients.Select(client => new ClientResponseModel - { - Client = client.Change(client.User) - }).ToList(); + var clientResponseModel = clients.Select(client => client.Change(client.User)).ToList(); var clientListResponse = new ClientListResponseModel { @@ -67,10 +60,7 @@ public async Task> GetClients(int pageNo = 1, in .Take(pageSize) .ToListAsync(); - var clientResponseModel = clients.Select(client => new ClientResponseModel - { - Client = client.Change(client.User!) - }).ToList(); + var clientResponseModel = clients.Select(client => client.Change(client.User)).ToList(); var clientListResponse = new ClientListResponseModel { @@ -102,13 +92,10 @@ public async Task> GetClientById(int id) if (client is null) { - throw new Exception("Client Not Found"); + return model = Result.Error("Client not found."); } - var responseModel = new ClientResponseModel - { - Client = client.Change(client.User) - }; + var responseModel = client.Change(client.User); model = Result.Success(responseModel); } @@ -155,10 +142,7 @@ public async Task> CreateClient(ClientRequestModel r await _db.Clients.AddAsync(client); int addClient = await _db.SaveChangesAsync(); - var responseModel = new ClientResponseModel - { - Client = client.Change(user), - }; + var responseModel = client.Change(user); model = addClient > 0 ? Result.Success(responseModel) @@ -231,10 +215,7 @@ public async Task> UpdateClient(int id, ClientReques _db.Entry(client).State = EntityState.Modified; int result = await _db.SaveChangesAsync(); - var clientResponseModel = new ClientResponseModel - { - Client = client.Change(user) - }; + var clientResponseModel = client.Change(user); model = Result.Success(clientResponseModel); }