From d47098ab37e54a8138f6ceb1596630c734e6b9f5 Mon Sep 17 00:00:00 2001 From: "Johnny.Ratton" Date: Sat, 17 Feb 2024 08:49:54 +0100 Subject: [PATCH] =?UTF-8?q?D=C3=A9buggage=20du=20CRUD=20pour=20pouvoir=20f?= =?UTF-8?q?aire=20des=20tests=20dessus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API_SQLuedo/API/Controllers/UserController.cs | 10 +++++++--- API_SQLuedo/Services/UserDataService.cs | 15 +++++++-------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/API_SQLuedo/API/Controllers/UserController.cs b/API_SQLuedo/API/Controllers/UserController.cs index 1896147..8518f62 100644 --- a/API_SQLuedo/API/Controllers/UserController.cs +++ b/API_SQLuedo/API/Controllers/UserController.cs @@ -82,11 +82,15 @@ namespace API.Controllers } [HttpPost] - public IActionResult CreateUser(string username, string password, string email, bool isAdmin) + 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}", username, password, email, isAdmin); - return CreatedAtAction(nameof(GetUsers), _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), _userDataService.CreateUser(dto.Username, dto.Password, dto.Email, dto.IsAdmin)); } [HttpPut] diff --git a/API_SQLuedo/Services/UserDataService.cs b/API_SQLuedo/Services/UserDataService.cs index a327454..ddaa3e6 100644 --- a/API_SQLuedo/Services/UserDataService.cs +++ b/API_SQLuedo/Services/UserDataService.cs @@ -54,14 +54,14 @@ namespace Services return false; } DbContext.Users.Remove(userEntity); - DbContext.SaveChanges(); + DbContext.SaveChangesAsync(); return true; } public UserDTO UpdateUser(int id, UserDTO user) { - var updatingUser = GetUserById(id); - if(updatingUser == null) + var updatingUser = DbContext.Users.FirstOrDefault(u => u.Id == id); + if (updatingUser == null) { throw new ArgumentException("Impossible de trouver l'utilisateur", nameof(id)); } @@ -69,11 +69,10 @@ namespace Services updatingUser.Password = user.Password; updatingUser.Email = user.Email; updatingUser.IsAdmin = user.IsAdmin; - - var updatedUser = updatingUser.FromDTOToModel().FromModelToEntity(); // Permet d'indiquer en Db que l'entité a été modifiée. - DbContext.Entry(updatedUser).State = EntityState.Modified; - return updatedUser.FromEntityToModel().FromModelToDTO(); + DbContext.Entry(updatingUser).State = EntityState.Modified; + DbContext.SaveChangesAsync(); + return updatingUser.FromEntityToModel().FromModelToDTO(); } public UserDTO CreateUser(string username, string password, string email, bool isAdmin) @@ -86,7 +85,7 @@ namespace Services IsAdmin = isAdmin }; DbContext.Users.Add(newUserEntity.FromDTOToModel().FromModelToEntity()); - DbContext.SaveChanges(); + DbContext.SaveChangesAsync(); return newUserEntity; }