public async Task <IActionResult> Update(IndnexViewModel model) { if (!ModelState.IsValid) { return(Ok()); } var user = await _userManager.GetUserAsync(User); if (model.ProfileViewModel.IconFile != null) { var id = await _iconManager.CreateAndGetIconId(model.ProfileViewModel.IconFile); user.IconId = id; } user.Email = model.ProfileViewModel.Email; user.PhoneNumber = model.ProfileViewModel.PhoneNumber; user.FirstName = model.ProfileViewModel.FirstName; user.LastName = model.ProfileViewModel.LastName; var result = _userManager.UpdateAsync(user); if (!result.Result.Succeeded) { return(BadRequest()); } return(Ok()); }
public async Task <IActionResult> ChangePassword(IndnexViewModel model) { if (!ModelState.IsValid) { return(BadRequest("Invalid current password")); } var user = await _userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'."); } var changePasswordResult = await _userManager.ChangePasswordAsync(user, model.ChangeProfilePasswordViewModel.OldPassword, model.ChangeProfilePasswordViewModel.NewPassword); if (!changePasswordResult.Succeeded) { return(BadRequest(changePasswordResult.Errors.ToString())); } await _signInManager.SignInAsync(user, isPersistent : false); return(Ok()); }