예제 #1
0
        public async Task <IActionResult> SendForgotPassword(string email)
        {
            // Checks the entered email is valid
            if (email == null)
            {
                return(RedirectToAction("ForgotPassword", new { error = 0 }));
            }

            // Retrieves user and returns error if none found
            User user = await _repository.GetUserAsync(email);

            if (user == null)
            {
                return(RedirectToAction("ForgotPassword", new { error = 1 }));
            }

            // Requests the password reset
            await _repository.RequestPasswordResetAsync(user);

            await _repository.SaveChangesAsync();

            // Returns view
            MessageViewModel model = new MessageViewModel()
            {
                Title        = "Email sent",
                MessageTitle = "Password reset email sent"
            };

            return(View("Message", model));
        }