public async Task <IActionResult> ForgotPassword(ForgotPasswordViewModel forgotPasswordViewModel) { if (ModelState.IsValid) { var user = await _userManager.FindByEmailAsync(forgotPasswordViewModel.Email); if (user != null) { var token = await _userManager.GeneratePasswordResetTokenAsync(user); var resetUrl = Url.Action("ResetPassword", "Profile", new { token = token, email = user.Email }, Request.Scheme); _emailSender.ConfigureSendingMail(user.Email, resetUrl, true); return(RedirectToAction(nameof(ForgotPasswordConfirmation))); } else { var registerUrl = Url.Action("Register", "Account", new RegisterViewModel { Email = forgotPasswordViewModel.Email }, Request.Scheme); _emailSender.ConfigureSendingMail(forgotPasswordViewModel.Email, "You are unknown member for us. Please make sure that you have registered. You can reister here: " + registerUrl, false); return(RedirectToAction(nameof(AccountController.Register), "Account", new RegisterViewModel() { Email = forgotPasswordViewModel.Email })); } } return(RedirectToAction(nameof(HomeController.Index), "Home")); }