public async Task <UserResponse> UpdateAsync(Guid id, PutUserResource user) { var existingUser = await _unitOfWork.Users.FindByIdAsync(id); if (existingUser == null) { return(new UserResponse("User not found.")); } existingUser.setNewLastName(user.LastName); existingUser.setNewFirstName(user.FirstName); existingUser.setNewEmail(user.Email); existingUser.setNewBirthDate(user.BirthDate); try { _unitOfWork.Users.Update(existingUser); await _unitOfWork.CompleteAsync(); return(new UserResponse(existingUser)); } catch (Exception ex) { return(new UserResponse($"An error occurred when updating the user: {ex.Message}")); } }
public async Task<IActionResult> PutAsync(Guid id, [FromBody] PutUserResource resource) { if (!ModelState.IsValid) return BadRequest(ModelState.GetErrorMessages()); var result = await _userService.UpdateAsync(id, resource); if (!result.Success) return BadRequest(result.Message); var userResource = _mapper.Map<User, UserResource>(result.User); return Ok(userResource); }