utilisation DeleteItem UpdateItem et CreateItem pour CreateUser, DeleteUser, UpdateUser
continuous-integration/drone/push Build is passing Details

MethodeExtensions
Victor GABORIT 1 year ago
parent eb019066a3
commit fdfb090424

@ -68,7 +68,7 @@ namespace API.Controllers
[ProducesResponseType(typeof(string), 404)] [ProducesResponseType(typeof(string), 404)]
public async Task<IActionResult> DeleteUser(int id) public async Task<IActionResult> DeleteUser(int id)
{ {
var success = dataService.userService.DeleteUser(id); var success = await dataService.userService.DeleteItem(id);
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);
@ -84,19 +84,17 @@ namespace API.Controllers
[HttpPost] [HttpPost]
[ProducesResponseType(typeof(UserDTO), 201)] [ProducesResponseType(typeof(UserDTO), 201)]
[ProducesResponseType(typeof(string), 400)] [ProducesResponseType(typeof(string), 400)]
public IActionResult CreateUser([FromBody] UserDTO dto) public async Task<IActionResult> CreateUser([FromBody] UserDTO dto)
{ {
if (dto.Username == null || dto.Password == null || dto.Email == null) if (dto.Username == null || dto.Password == null || dto.Email == null)
{ {
return BadRequest(); return BadRequest();
} }
// return Ok(userService.CreateUser(username, password, email, isAdmin));
logger.LogInformation( logger.LogInformation(
"[INFORMATION] Un utilisateur a été créé : username - {username}, password - {password}, email - {email}, isAdmin - {isAdmin}", "[INFORMATION] Un utilisateur a été créé : username - {username}, password - {password}, email - {email}, isAdmin - {isAdmin}",
dto.Username, dto.Password, dto.Email, dto.IsAdmin); dto.Username, dto.Password, dto.Email, dto.IsAdmin);
return Created(nameof(GetUsers), return Created(nameof(GetUsers),
dataService.userService.CreateUser(dto.Username, dto.Password, dto.Email, dto.IsAdmin)); await dataService.userService.AddItem(dto));
} }
[HttpPut("user/{id}")] [HttpPut("user/{id}")]
@ -122,7 +120,7 @@ namespace API.Controllers
{ {
logger.LogInformation("[INFORMATION] La mise à jour de l'utilsiateur avec l'id {id} a été effectuée", logger.LogInformation("[INFORMATION] La mise à jour de l'utilsiateur avec l'id {id} a été effectuée",
id); id);
return Ok(dataService.userService.UpdateUser(id, userDto)); return Ok(dataService.userService.UpdateItem<UserDTO>(id, userDto));
} }
logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id {id}.", id); logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id {id}.", id);

@ -25,19 +25,22 @@ public class UserDataServiceApi(IUserService<UserEntity> userService) : IUserSer
public UserEntity CreateUser(string username, string password, string email, bool isAdmin) => public UserEntity CreateUser(string username, string password, string email, bool isAdmin) =>
userService.CreateUser(username, password, email, isAdmin); userService.CreateUser(username, password, email, isAdmin);
public Task<UserEntity?> AddItem(UserEntity? item) public async Task<UserEntity?> AddItem(UserEntity? item)
{ {
throw new NotImplementedException(); var user = await userService.AddItem(item);
return user;
} }
public Task<bool> DeleteItem(int id) public async Task<bool> DeleteItem(int id)
{ {
throw new NotImplementedException(); var sucess = await userService.DeleteItem(id);
return sucess;
} }
public Task<UserEntity> UpdateItem<TDto>(int? id, TDto? newItem) where TDto : class public async Task<UserEntity> UpdateItem<TDto>(int? id, TDto? newItem) where TDto : class
{ {
throw new NotImplementedException(); var user = await userService.UpdateItem(id, newItem);
return user;
} }
public async Task<IEnumerable<UserEntity>> GetItems(int page, int count, object? orderCriteria = null, string? filter = null, object? valueFilter = null) public async Task<IEnumerable<UserEntity>> GetItems(int page, int count, object? orderCriteria = null, string? filter = null, object? valueFilter = null)

@ -1,5 +1,7 @@
using DbContextLib; using DbContextLib;
using Dto;
using Entities; using Entities;
using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Model.OrderCriteria; using Model.OrderCriteria;
using Shared; using Shared;
@ -93,17 +95,27 @@ public class UserDataService : IUserService<UserEntity>
public Task<UserEntity?> AddItem(UserEntity? item) public Task<UserEntity?> AddItem(UserEntity? item)
{ {
throw new NotImplementedException(); using(var context = new UserDbContext())
{
var user = context.CreateItemAsync(item);
return user;
}
} }
public Task<bool> DeleteItem(int id) public Task<bool> DeleteItem(int id)
{ {
throw new NotImplementedException(); using (var context = new UserDbContext())
{
var user = context.DeleteItemAsync<UserEntity>(id);
return user;
}
} }
public Task<UserEntity> UpdateItem<TDto>(int? id, TDto? newItem) where TDto : class public Task<UserEntity> UpdateItem<TDto>(int? id, TDto? newItem) where TDto : class
{ {
throw new NotImplementedException(); var user = DbContext.UpdateItemAsync<UserEntity, TDto>(id, newItem);
return user;
} }
public async Task<IEnumerable<UserEntity>> GetItems(int page, int count, object? orderCriteria = null, string? filter = null, object? valueFilter = null) public async Task<IEnumerable<UserEntity>> GetItems(int page, int count, object? orderCriteria = null, string? filter = null, object? valueFilter = null)

@ -119,19 +119,28 @@ namespace Shared
} }
public Task<UserDTO?> AddItem(UserDTO? item) public async Task<UserDTO?> AddItem(UserDTO? item)
{ {
throw new NotImplementedException(); using(var context = new UserDbContext())
{
var user = await DbContext.CreateItemAsync<UserEntity>(item.FromDTOToEntity());
return user.FromEntityToDTO();
}
} }
public Task<bool> DeleteItem(int id) public Task<bool> DeleteItem(int id)
{ {
throw new NotImplementedException(); using (var context = new UserDbContext())
{
var user = context.DeleteItemAsync<UserEntity>(id);
return user;
}
} }
public Task<UserDTO> UpdateItem<TDto>(int? id, TDto? newItem) where TDto : class public async Task<UserDTO> UpdateItem<TDto>(int? id, TDto? newItem) where TDto : class
{ {
throw new NotImplementedException(); var user = await DbContext.UpdateItemAsync<UserEntity, TDto>(id, newItem);
return user.FromEntityToDTO();
} }
public async Task<IEnumerable<UserDTO>> GetItems(int page, int count, object? orderCriteria = null, string? filter = null, object? valueFilter = null) public async Task<IEnumerable<UserDTO>> GetItems(int page, int count, object? orderCriteria = null, string? filter = null, object? valueFilter = null)

Loading…
Cancel
Save