public async Task <IActionResult> TryResetPassword(ResetPasswordAccountView viewModel) { try { await _accountService.ResetPassword(viewModel); return(RedirectToAction("LogIn", "Account")); } catch (AccountException ex) { ModelState.AddModelError(string.Empty, ex.Message); return(View()); } }
public async Task ResetPassword(ResetPasswordAccountView viewModel) { ApplicationUser user = await _userManager.FindByIdAsync(viewModel.UserId); if (user is null) { throw new AccountException("User not found."); } if (!viewModel.Password.Equals(viewModel.ConfirmPassword)) { throw new AccountException("Passwords are different."); } IdentityResult result = await _userManager.ResetPasswordAsync(user, viewModel.Token, viewModel.Password); }