From b446e972737f474b1e18a0139765df75333dd7ab Mon Sep 17 00:00:00 2001 From: clchieu Date: Tue, 27 Feb 2024 22:37:06 +0100 Subject: [PATCH] :construction: Modification des services en cours --- .../API/Controllers/InquiriesController.cs | 36 +++--- API_SQLuedo/API/Controllers/UserController.cs | 106 +++++++++--------- .../ModelToEntities/ModelToEntities.csproj | 1 + .../Service/UserDataService.cs | 24 ++-- API_SQLuedo/TestConsoleAPI/Program.cs | 2 +- 5 files changed, 84 insertions(+), 85 deletions(-) diff --git a/API_SQLuedo/API/Controllers/InquiriesController.cs b/API_SQLuedo/API/Controllers/InquiriesController.cs index 80227f5..e93d43a 100644 --- a/API_SQLuedo/API/Controllers/InquiriesController.cs +++ b/API_SQLuedo/API/Controllers/InquiriesController.cs @@ -1,4 +1,5 @@ -using Microsoft.AspNetCore.Authorization; +using Dto; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Shared; @@ -7,28 +8,21 @@ namespace API.Controllers [Route("api/[controller]")] [Authorize] [ApiController] - public class InquiriesController : ControllerBase + public class InquiriesController(ILogger logger, IInquiryService inquiryService) + : ControllerBase, IInquiryService { - private IUserService<> _inquiryUserService; - - private readonly ILogger _logger; - - public InquiriesController(IUserService<> inquiryUserService) - { - _inquiryUserService = inquiryUserService; - } - [HttpGet("inquiries/{page}/{number}")] public IActionResult GetInquiries(int page, int number) { - var nbInquiry = _inquiryUserService.GetInquiries(page, number).Count(); + var nbInquiry = inquiryService.GetInquiries(page, number).Count(); if (nbInquiry == 0) { - _logger.LogError("[ERREUR] Aucune enquête trouvé."); + logger.LogError("[ERREUR] Aucune enquête trouvé."); return StatusCode(204); } - _logger.LogInformation("[INFORMATION] {nb} Enquête(s) trouvée(s)", nbInquiry); - return Ok(_inquiryUserService.GetInquiries(page, number)); + + logger.LogInformation("[INFORMATION] {nb} Enquête(s) trouvée(s)", nbInquiry); + return Ok(inquiryService.GetInquiries(page, number)); } [HttpGet("inquiry/id/{id}")] @@ -36,12 +30,12 @@ namespace API.Controllers { try { - _logger.LogInformation("[INFORMATION] Enquête avec l'id {id} a été trouvé.", id); - return Ok(_inquiryUserService.GetInquiryById(id)); + logger.LogInformation("[INFORMATION] Enquête avec l'id {id} a été trouvé.", id); + return Ok(inquiryService.GetInquiryById(id)); } catch (ArgumentException) { - _logger.LogError("[ERREUR] Aucune enquête trouvée avec l'id {id}.", id); + logger.LogError("[ERREUR] Aucune enquête trouvée avec l'id {id}.", id); return NotFound(); } } @@ -51,12 +45,12 @@ namespace API.Controllers { try { - _logger.LogInformation("[INFORMATION] Enquête avec le titre {title} a été trouvé.", title); - return Ok(_inquiryUserService.GetInquiryByTitle(title)); + logger.LogInformation("[INFORMATION] Enquête avec le titre {title} a été trouvé.", title); + return Ok(inquiryService.GetInquiryByTitle(title)); } catch (ArgumentException) { - _logger.LogError("[ERREUR] Aucune enquête trouvée avec le titre {title}.", title); + logger.LogError("[ERREUR] Aucune enquête trouvée avec le titre {title}.", title); return NotFound(); } } diff --git a/API_SQLuedo/API/Controllers/UserController.cs b/API_SQLuedo/API/Controllers/UserController.cs index 5d59627..5bb8da5 100644 --- a/API_SQLuedo/API/Controllers/UserController.cs +++ b/API_SQLuedo/API/Controllers/UserController.cs @@ -1,4 +1,5 @@ -using Microsoft.AspNetCore.Authorization; +using Dto; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Shared; @@ -8,33 +9,20 @@ namespace API.Controllers [Authorize] [ApiVersion("1.0")] [ApiController] - public class UserController : ControllerBase + public class UserController(ILogger logger, IUserService userService) : ControllerBase, IUserService { - private IUserService<> _userUserService; - - private readonly ILogger _logger; - - public UserController(IUserService<> userUserService, ILogger logger) - { - _userUserService = userUserService; - _logger = logger; - } - [HttpGet("users/{page}/{number}")] - public IActionResult GetUsers(int page, int number) + public IActionResult GetUsers(int page, int number) { - var getUsers = new InClassName(page, number); - _userUserService.GetUsers(getUsers); - var nbUser = getUsers.ReturnValue.Count(); - if(nbUser == 0) + var users = userService.GetUsers(page, number).ToList(); + if (users.Count == 0) { - _logger.LogError("[ERREUR] Aucun utilisateur trouvé."); + logger.LogError("[ERREUR] Aucun utilisateur trouvé."); return StatusCode(204); } - _logger.LogInformation("[INFORMATION] {nb} Utilisateur(s) trouvé(s)", nbUser); - var value = new InClassName(page, number); - _userUserService.GetUsers(value); - return Ok(value.ReturnValue); + + logger.LogInformation("[INFORMATION] {nb} Utilisateur(s) trouvé(s)", users.Count); + return Ok(users); } [HttpGet("user/id/{id}")] @@ -42,11 +30,12 @@ namespace API.Controllers { try { - _logger.LogInformation("[INFORMATION] Utilisateur avec l'id {id} a été trouvé.", id); - return Ok(_userUserService.GetUserById(id)); - } catch (ArgumentException) + logger.LogInformation("[INFORMATION] Utilisateur avec l'id {id} a été trouvé.", id); + return Ok(userService.GetUserById(id)); + } + catch (ArgumentException) { - _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id {id}.", id); + logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id {id}.", id); return NotFound(); } } @@ -56,64 +45,73 @@ namespace API.Controllers { try { - _logger.LogInformation("[INFORMATION] Utilisateur avec l'username {username} a été trouvé.", username); - return Ok(_userUserService.GetUserByUsername(username)); - }catch (ArgumentException) + logger.LogInformation("[INFORMATION] Utilisateur avec l'username {username} a été trouvé.", username); + return Ok(userService.GetUserByUsername(username)); + } + catch (ArgumentException) { - _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'username {username}.", username); + logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'username {username}.", username); return NotFound(); } - } [HttpDelete] public IActionResult DeleteUser(int id) { - var success = _userUserService.DeleteUser(id); - if(success) + var success = userService.DeleteUser(id); + if (success) { - _logger.LogInformation("[INFORMATION] L'utilisateur avec l'id {id} a été supprimé.", id); - return Ok(_userUserService.DeleteUser(id)); - } else + logger.LogInformation("[INFORMATION] L'utilisateur avec l'id {id} a été supprimé.", id); + return Ok(userService.DeleteUser(id)); + } + else { - _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id {id}.", id); - return NotFound(); + logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id {id}.", id); + return NotFound(); } - } [HttpPost] - public IActionResult CreateUser([FromBody]UserDTO dto) + public IActionResult CreateUser([FromBody] UserDTO dto) { if (dto.Username == null || dto.Password == null || dto.Email == null) { return BadRequest(); } - // return Ok(_userDataService.CreateUser(username, password, email, isAdmin)); - _logger.LogInformation("[INFORMATION] Un utilisateur a été créé : username - {username}, password - {password}, email - {email}, isAdmin - {isAdmin}", dto.Username, dto.Password, dto.Email, dto.IsAdmin); - return Created(nameof(GetUsers), _userUserService.CreateUser(dto.Username, dto.Password, dto.Email, dto.IsAdmin)); + + // return Ok(userService.CreateUser(username, password, email, isAdmin)); + logger.LogInformation( + "[INFORMATION] Un utilisateur a été créé : username - {username}, password - {password}, email - {email}, isAdmin - {isAdmin}", + dto.Username, dto.Password, dto.Email, dto.IsAdmin); + return Created(nameof(GetUsers), + userService.CreateUser(dto.Username, dto.Password, dto.Email, dto.IsAdmin)); } [HttpPut] - public IActionResult UpdateUser(int id, [FromBody] UserDTO userDTO) + public IActionResult UpdateUser(int id, [FromBody] UserDTO userDto) { - if(id != userDTO.Id) + if (id != userDto.Id) { - _logger.LogError("[ERREUR] Problème ID - La mise à jour de l'utilisateur avec l'id {id} a échouée.", id); + logger.LogError("[ERREUR] Problème ID - La mise à jour de l'utilisateur avec l'id {id} a échouée.", id); return BadRequest(); } - if(!ModelState.IsValid) + + if (!ModelState.IsValid) { - _logger.LogError("[ERREUR] Problème controlleur - La mise à jour de l'utilisateur avec l'id {id} a échouée.", id); + logger.LogError( + "[ERREUR] Problème controlleur - La mise à jour de l'utilisateur avec l'id {id} a échouée.", id); return BadRequest(); } - if(userDTO != null) + + if (userDto != null) { - _logger.LogInformation("[INFORMATION] La mise à jour de l'utilsiateur avec l'id {id} a été effectuée", id); - return Ok(_userUserService.UpdateUser(id, userDTO)); + logger.LogInformation("[INFORMATION] La mise à jour de l'utilsiateur avec l'id {id} a été effectuée", + id); + return Ok(userService.UpdateUser(id, userDto)); } - _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id {id}.", id); - return NotFound(); + + logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id {id}.", id); + return NotFound(); } } -} +} \ No newline at end of file diff --git a/API_SQLuedo/ModelToEntities/ModelToEntities.csproj b/API_SQLuedo/ModelToEntities/ModelToEntities.csproj index 36a5aa9..9220dbb 100644 --- a/API_SQLuedo/ModelToEntities/ModelToEntities.csproj +++ b/API_SQLuedo/ModelToEntities/ModelToEntities.csproj @@ -21,6 +21,7 @@ + diff --git a/API_SQLuedo/ModelToEntities/Service/UserDataService.cs b/API_SQLuedo/ModelToEntities/Service/UserDataService.cs index 2e9a365..1ad41d2 100644 --- a/API_SQLuedo/ModelToEntities/Service/UserDataService.cs +++ b/API_SQLuedo/ModelToEntities/Service/UserDataService.cs @@ -1,6 +1,7 @@ -using Dto; +using DbContextLib; +using Dto; +using Entities; using Microsoft.EntityFrameworkCore; -using ModelToEntities.Business; using Shared; namespace ModelToEntities.Service @@ -8,7 +9,8 @@ namespace ModelToEntities.Service public class UserDataService : IUserService { private UserDbContext DbContext { get; set; } - public UserDataService(UserDbContext context) + + public UserDataService(UserDbContext context) { DbContext = context; context.Database.EnsureCreated(); @@ -21,8 +23,8 @@ namespace ModelToEntities.Service { throw new ArgumentException("Impossible de trouver l'utilisateur", nameof(id)); } - return userEntity.FromEntityToModel().FromModelToDTO(); + return userEntity.FromEntityToModel().FromModelToDTO(); } public UserDTO GetUserByUsername(string username) @@ -32,12 +34,14 @@ namespace ModelToEntities.Service { throw new ArgumentException("Impossible de trouver l'utilisateur", nameof(username)); } + return userEntity.FromEntityToModel().FromModelToDTO(); } public IEnumerable GetUsers(int page, int number) { - return DbContext.Users.Skip((page - 1) * number).Take(number).ToList().Select(u => u.FromEntityToModel().FromModelToDTO()); + return DbContext.Users.Skip((page - 1) * number).Take(number).ToList() + .Select(u => u.FromEntityToModel().FromModelToDTO()); } public bool DeleteUser(int id) @@ -47,6 +51,7 @@ namespace ModelToEntities.Service { return false; } + DbContext.Users.Remove(userEntity); DbContext.SaveChangesAsync(); return true; @@ -59,6 +64,7 @@ namespace ModelToEntities.Service { throw new ArgumentException("Impossible de trouver l'utilisateur", nameof(id)); } + updatingUser.Username = user.Username; updatingUser.Password = user.Password; updatingUser.Email = user.Email; @@ -71,16 +77,16 @@ namespace ModelToEntities.Service public UserDTO CreateUser(string username, string password, string email, bool isAdmin) { - var newUserEntity = new User + var newUserEntity = new UserEntity() { Username = username, Password = password, Email = email, IsAdmin = isAdmin }; - DbContext.Users.Add(newUserEntity.FromDTOToModel().FromModelToEntity()); + DbContext.Users.Add(newUserEntity); DbContext.SaveChangesAsync(); - return newUserEntity; + return newUserEntity.FromEntityToDTO(); } } -} +} \ No newline at end of file diff --git a/API_SQLuedo/TestConsoleAPI/Program.cs b/API_SQLuedo/TestConsoleAPI/Program.cs index df49a1a..10c1d99 100644 --- a/API_SQLuedo/TestConsoleAPI/Program.cs +++ b/API_SQLuedo/TestConsoleAPI/Program.cs @@ -20,7 +20,7 @@ ILogger logger = factory.CreateLogger(); using (var context = new UserDbContext(options)) { - var controller = new UserController(new UserDataService(context), logger); + var controller = new UserController(logger); void PrintUsers() {