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"));
        }