public void ForgotPassword(string resetLinkFormatted, ForgotPasswordModel model) { var user = Entities.Users.FirstOrDefault(u => u.Email == model.Email); if (user == null) { throw new ArgumentException(Strings.EmailNotExist); } var data = new Dictionary<string, string>(); data.Add("link", string.Format(resetLinkFormatted, user.UID)); var sender = new EmailSender(); sender.Send(Templates.ResetPassword, user.Email, data); }
public ActionResult ForgotPassword() { var model = new ForgotPasswordModel(); return View(model); }
public ActionResult ForgotPassword(ForgotPasswordModel model) { if (!ModelState.IsValid) { model.IsValid = false; model.ErrorMessage = Strings.FixValidationErrors; return View(model); } try { var link = HttpUtility.UrlDecode(Url.Action("ResetPassword", "Security", new { uid = "{0}" }, Request.Url.Scheme)); _security.ForgotPassword(link, model); } catch (ArgumentException ex) { model.IsValid = false; model.ErrorMessage = ex.Message; return View(model); } catch (Exception) { model.IsValid = false; model.ErrorMessage = Strings.ErrorOccured; return View(model); } return RedirectToAction("Login"); }