public async Task <ActionResult <UserManagerResponse> > EditUserInfo([FromBody] UserEditReadDto userEditReadDto) { if (ModelState.IsValid) { var userId = User.FindFirst(ClaimTypes.NameIdentifier); var result = await _ClientService.UpdateUserInfoAsync(userId.Value, userEditReadDto); if (result.IsSuccessful) { return(Ok(result)); } return(BadRequest(result)); } return(new UserManagerResponse { IsSuccessful = false, Message = "The properties are not valid" }); }
public async Task <UserManagerResponse> UpdateUserInfoAsync(string userId, UserEditReadDto userEditDto) { var user = await _UserManager.FindByIdAsync(userId); if (user == null) { return(new UserManagerResponse { IsSuccessful = false, Message = "user not found" }); } if (!string.IsNullOrEmpty(userEditDto.FirstName)) { user.FirstName = userEditDto.FirstName; } if (!string.IsNullOrEmpty(userEditDto.LastName)) { user.LastName = userEditDto.LastName; } if (!string.IsNullOrEmpty(userEditDto.Address)) { user.Address = userEditDto.Address; } if (!string.IsNullOrEmpty(userEditDto.City)) { user.City = userEditDto.City; } if (!string.IsNullOrEmpty(userEditDto.AdditionalInfo)) { user.AdditionalInfo = userEditDto.AdditionalInfo; } if (!string.IsNullOrEmpty(userEditDto.PhoneNumber)) { user.PhoneNumber = userEditDto.PhoneNumber; } if (!string.IsNullOrEmpty(userEditDto.PhoneNumber)) { user.Region = userEditDto.Region; } var result = await _UserManager.UpdateAsync(user); if (!result.Succeeded) { return(new UserManagerResponse { IsSuccessful = false, Message = "Process Failed", Errors = result.Errors.Select(e => e.Description) }); } await _DbContext.SaveChangesAsync(); return(new UserManagerResponse { IsSuccessful = true, Message = "User info updated successfully" }); }