public ActionResult ResetPassword(ResetPassword model) { var desiredReset = Interlex.BusinessLayer.Models.LostPassword.GetPasswordReset(model.Code); if (desiredReset == null) { TempData["msg"] = Resources.Resources.UI_PasswordResetCodeInvalid; TempData["statusCode"] = "Error"; return(RedirectToAction("ResetPassword")); } else if (model.Password != model.Password2) { TempData["msg"] = Resources.Resources.UI_PasswordsNotMatch; TempData["statusCode"] = "Error"; return(RedirectToAction("ResetPassword")); } else { var desiredUserId = int.Parse(desiredReset["_user_id"].ToString()); var issueDate = DateTime.Parse(desiredReset["_issue_date"].ToString()); var expiryFromDB = desiredReset["_expiry_date"].ToString(); var expiryDate = issueDate.AddMinutes(int.Parse(ConfigurationManager.AppSettings["PasswordReset_ExpiryMinutes"])); var now = DateTime.Now; var isCodeValid = DateTime.Compare(expiryDate, now); if (isCodeValid < 0) { TempData["msg"] = Resources.Resources.UI_PasswordResetCodeExpired; TempData["statusCode"] = "Error"; return(RedirectToAction("ResetPassword")); } else if (expiryFromDB != String.Empty) { TempData["msg"] = Resources.Resources.UI_PasswordResetCodeUsed; TempData["statusCode"] = "Error"; return(RedirectToAction("ResetPassword")); } else { EditPassword.ChangePassword(desiredUserId, model.Password); Interlex.BusinessLayer.Models.LostPassword.UpdatePasswordResetExpiry(model.Code); TempData["msg"] = Resources.Resources.UI_PasswordChanged; TempData["statusCode"] = "OK"; return(RedirectToAction("ResetPassword")); } } }
public ActionResult ChangePassword(EditPassword model) { var newPassword = model.Password; var userId = UserData.UserId; var result = EditPassword.ChangePassword(userId, newPassword); if (result) { ViewBag.Msg = Resources.Resources.Notify_PasswordChangeSuccess; } else { ViewBag.Msg = Resources.Resources.Notify_PasswordChangeError; } return(PartialView("~/Views/User/_SettingsChangeResult.cshtml")); }