utilisation DeleteItem dans UserController et correction de bug car DeletItem renvoyait un objet non serializable qui provoquait une erreur 500 coté API 🐛

correctionLienWebServiceEF
Victor GABORIT 1 year ago
parent 91b2a5a082
commit 9073f29527

@ -74,7 +74,7 @@ namespace API.Controllers
if(success) if(success)
{ {
_logger.LogInformation("[INFORMATION] L'utilisateur avec l'id {id} a été supprimé.", id); _logger.LogInformation("[INFORMATION] L'utilisateur avec l'id {id} a été supprimé.", id);
return Ok(_dataService.UserService.DeleteUser(id)); return Ok(_dataService.UserService.DeleteItem<UserEntity>(id));
} else } else
{ {
_logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id {id}.", id); _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id {id}.", id);

@ -12,7 +12,7 @@ using System.Runtime.InteropServices.ObjectiveC;
namespace ModelToEntity namespace ModelToEntity
{ {
public class DbDataManager : IUserDataService<User?> public class DbDataManager : IUserDataService<User>
{ {
public async Task<User> GetUserById(int id) public async Task<User> GetUserById(int id)
{ {

@ -29,23 +29,23 @@ namespace ModelToEntity
return Task.FromResult<T?>(item); return Task.FromResult<T?>(item);
} }
internal static async Task<bool> DeleteItemAsync<T>(this DbContext context, int? id) where T : class internal static Task<bool> DeleteItemAsync<T>(this DbContext context, int? id) where T : class
{ {
if (id == null) if (id == null)
{ {
return false; return Task.FromResult(false);
} }
var entity = await context.Set<T>().FindAsync(id); var entity = context.Set<T>().Find(id);
if (entity == null) if (entity == null)
{ {
return false; return Task.FromResult(false);
} }
context.Set<T>().Remove(entity); context.Set<T>().Remove(entity);
await context.SaveChangesAsync(); context.SaveChanges();
return true; return Task.FromResult(true);
} }
internal static Task<T?> UpdateItemAsync<T, TDto>(this DbContext context, int? id, TDto dto) internal static Task<T?> UpdateItemAsync<T, TDto>(this DbContext context, int? id, TDto dto)
where T : class where T : class

@ -10,7 +10,7 @@ using Model.Business;
namespace Services namespace Services
{ {
public interface IUserDataService<T> : IGenericService<T?> where T : class public interface IUserDataService<T> : IGenericService<T> where T : class
{ {
public Task<IEnumerable<T?>> GetUsers(int page, int number); public Task<IEnumerable<T?>> GetUsers(int page, int number);
public Task<T?> GetUserById(int id); public Task<T?> GetUserById(int id);

Loading…
Cancel
Save