public ActionResult ForgotPassword(string email) { ForgotPassword data = new ForgotPassword(); UpdateModel(data, new[] { "Email" }); data.Validate(ModelState); if (ModelState.IsValid) { IUser user = UserRepository.SetNewUserPassword(data.Email); if (user != null) { UserRepository.RemoveUserFromCache(user.ID, user.Email); string confirmationUrl = AppHelper.GetSiteUrl(Url.Action("SetNewPassword", "Account", new { id = user.ConfirmationCode })); Mail.ForgotPassword(user.Email, user.Login, user.Password, confirmationUrl); return(RedirectToAction("ForgotPasswordUpdate")); } } ViewData.Model = data; return(View()); }