public async Task ForgetPassword(ForgetPasswordAccountView viewModel) { ApplicationUser user = await _userManager.FindByNameAsync(viewModel.Username); if (user is null) { throw new AccountException("User is not found."); } if (!user.Email.Equals(viewModel.Email)) { throw new AccountException("Emails are different."); } await CreateForgetPasswordEmail(user, viewModel.CurrentUrl); }
public async Task <IActionResult> ForgetPassword(ForgetPasswordAccountView forgetPasswordView) { try { var url = new Uri($"{Request.Scheme}://{Request.Host}"); forgetPasswordView.CurrentUrl = url; await _accountService.ForgetPassword(forgetPasswordView); return(RedirectToAction("LogIn", "Account")); } catch (AccountException ex) { ModelState.AddModelError(string.Empty, ex.Message); return(View()); } }