/// <summary> /// Resets the password error code to string. /// </summary> /// <param name="resetPasswordStatus">The reset password status.</param> /// <returns>String representation of error code.</returns> public static string ResetPasswordErrorCodeToString(ResetUserPasswordStatus resetPasswordStatus) { switch (resetPasswordStatus) { case ResetUserPasswordStatus.EmailNotExist: return "Invalid email address. Please enter a different e-mail address."; case ResetUserPasswordStatus.UserNotVerified: return "User was not yet verified, please check your mailbox or please contact administrator."; case ResetUserPasswordStatus.WaitOneHour: return "Double reset request, you should wait at least one hour for next password reset request."; default: return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator."; } }
/// <summary> /// Resets the password error code to string. /// </summary> /// <param name="resetPasswordStatus">The reset password status.</param> /// <returns>String representation of error code.</returns> public static string ResetPasswordErrorCodeToString(ResetUserPasswordStatus resetPasswordStatus) { switch (resetPasswordStatus) { case ResetUserPasswordStatus.EmailNotExist: return("Invalid email address. Please enter a different e-mail address."); case ResetUserPasswordStatus.UserNotVerified: return("User was not yet verified, please check your mailbox or please contact administrator."); case ResetUserPasswordStatus.WaitOneHour: return("Double reset request, you should wait at least one hour for next password reset request."); default: return("An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator."); } }
public ActionResult ResetPassword(ResetPasswordModel model) { if (ModelState.IsValid) { // Attempt to reset password ResetUserPasswordStatus resetStatus = UserAuthenticationService.GetResetPasswordToken(model.Email); if (resetStatus == ResetUserPasswordStatus.Success) { return(RedirectToAction("Index", "Home")); } else { ModelState.AddModelError(string.Empty, AccountValidation.ResetPasswordErrorCodeToString(resetStatus)); } } return(View(model)); }
/// <summary> /// Gets the reset password token. /// </summary> /// <param name="email">The email.</param> /// <returns>Reset user password status.</returns> public ResetUserPasswordStatus GetResetPasswordToken(string email) { if (String.IsNullOrEmpty(email)) { throw new ArgumentException("Email cannot be null or empty.", "email"); } string token; ResetUserPasswordStatus status = _userAuthentication.GetResetPasswordToken(email, out token); if (status == ResetUserPasswordStatus.Success) { var resetPasswordMessage = _appInfoService.GetResetPasswordMailTemplate(); _emailService.Send(email, resetPasswordMessage.SubjectTemplate, string.Format( resetPasswordMessage.TextTemplate, _appInfoService.RootUrl + "/Account/ConfirmResetPassword/" + token ), resetPasswordMessage.IsHtml); } return(status); }