public async Task <IActionResult> UpdateData([FromBody] PersonalDataRequestModel model) { PersonalDataResponseModel result = await _userService.UpdatePersonalDataAsync(User.Identity.Name, model); return(Ok(result)); }
public async Task <PersonalDataResponseModel> UpdatePersonalDataAsync(string userId, PersonalDataRequestModel model) { ApplicationUser user = await _context.Users.FirstOrDefaultAsync(x => x.Id == userId); if (model.Email != user.Email) { var result = await _userManager.SetEmailAsync(user, model.Email); if (!result.Succeeded) { throw new ApiException("Неверный email", 400); } result = await _userManager.SetUserNameAsync(user, model.Email); if (!result.Succeeded) { throw new ApiException("Неверный email", 400); } } user.Photo = model.Photo; user.PhoneNumber = model.Phone; user.Name = model.Name; if (!string.IsNullOrEmpty(model.Password)) { var code = await _userManager.GeneratePasswordResetTokenAsync(user); var result = await _userManager.ResetPasswordAsync(user, code, model.Password); if (!result.Succeeded) { throw new ApiException("Неверный пароль", 400); } } await _context.SaveChangesAsync(); return(_mapper.Map <PersonalDataResponseModel>(user)); }