Skip to content

Commit

Permalink
Merge pull request #54 from one-project-one-month/feature-client
Browse files Browse the repository at this point in the history
fix : update clients response format
  • Loading branch information
sannlynnhtun-coding authored Aug 11, 2024
2 parents 71d1110 + d62cadb commit 5a07bca
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 31 deletions.
7 changes: 4 additions & 3 deletions REMS.Mapper/ChangeModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -79,17 +79,18 @@ 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,
FirstName = dataModel.FirstName,
LastName = dataModel.LastName,
Address = dataModel.Address,
Email = user?.Email,
Phone = user?.Phone
Phone = user?.Phone,
Role = user?.Role
};
return clientResponseModel;
}
Expand Down
2 changes: 1 addition & 1 deletion REMS.Models/Client/ClientRequestModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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!;
Expand Down
17 changes: 16 additions & 1 deletion REMS.Models/Client/ClientResponseModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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; }
}
33 changes: 7 additions & 26 deletions REMS.Modules/Features/Client/DA_Client.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Microsoft.EntityFrameworkCore;
using REMS.Database.AppDbContextModels;
using REMS.Models;
using System.Data;

Expand All @@ -19,21 +20,13 @@ public async Task<Result<ClientListResponseModel>> 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
{
Expand Down Expand Up @@ -67,10 +60,7 @@ public async Task<Result<ClientListResponseModel>> 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
{
Expand Down Expand Up @@ -102,13 +92,10 @@ public async Task<Result<ClientResponseModel>> GetClientById(int id)

if (client is null)
{
throw new Exception("Client Not Found");
return model = Result<ClientResponseModel>.Error("Client not found.");
}

var responseModel = new ClientResponseModel
{
Client = client.Change(client.User)
};
var responseModel = client.Change(client.User);

model = Result<ClientResponseModel>.Success(responseModel);
}
Expand Down Expand Up @@ -155,10 +142,7 @@ public async Task<Result<ClientResponseModel>> 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<ClientResponseModel>.Success(responseModel)
Expand Down Expand Up @@ -231,10 +215,7 @@ public async Task<Result<ClientResponseModel>> 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<ClientResponseModel>.Success(clientResponseModel);
}
Expand Down

0 comments on commit 5a07bca

Please sign in to comment.