public ActionResult ResetPassword(string email) { if (string.IsNullOrEmpty(email)) { ModelState.AddModelError("email", AuthMessage.EmailMustHaveAValue.NiceToString()); return(View(AuthClient.ResetPasswordView)); } using (AuthLogic.Disable()) { UserEntity user = ResetPasswordRequestLogic.GetUserByEmail(email); if (user == null) { ModelState.AddModelError("email", AuthMessage.ThereSNotARegisteredUserWithThatEmailAddress.NiceToString()); return(View(AuthClient.ResetPasswordView)); } ResetPasswordRequestEntity rpr = ResetPasswordRequestLogic.ResetPasswordRequest(user); string url = HttpContext.Request.Url.GetLeftPart(UriPartial.Authority) + Url.Action <AuthController>(ac => ac.ResetPasswordCode(email, rpr.Code)); new ResetPasswordRequestMail(rpr, url).SendMailAsync(); } TempData["email"] = email; return(RedirectToAction("ResetPasswordSend")); }
public ActionResult ResetPasswordSetNew() { ResetPasswordRequestEntity rpr = (ResetPasswordRequestEntity)TempData["ResetPasswordRequest"]; if (rpr == null) { TempData["Error"] = AuthMessage.ThereHasBeenAnErrorWithYourRequestToResetYourPasswordPleaseEnterYourLogin.NiceToString(); return(RedirectToAction("ResetPassword")); } ViewData["rpr"] = rpr.Id; return(View(AuthClient.ResetPasswordSetNewView)); }
public ResetPasswordRequest ResetPassword(int userId) { var request = new ResetPasswordRequestEntity() { CreatedOn = DateTime.UtcNow, Token = Guid.NewGuid(), UserId = userId }; UnitOfWork.ResetPasswordRequests.Add(request).ToModel(); UnitOfWork.Commit(); return(request.ToModel()); }
public static ResetPasswordRequest ToModel(this ResetPasswordRequestEntity dataModel) { if (dataModel == null) { return(null); } return(new ResetPasswordRequest { CreatedOn = dataModel.CreatedOn, Id = dataModel.Id, Token = dataModel.Token, UsedOn = dataModel.UsedOn, User = dataModel.User.ToModel() }); }
public ActionResult ResetPasswordSetNew(Lite <ResetPasswordRequestEntity> rpr) { using (AuthLogic.Disable()) { ResetPasswordRequestEntity request = rpr.Retrieve(); var user = request.User; var context = user.ApplyChanges(this, UserMapping.ChangePassword, "").Validate(); HashSet <string> errorNpk = null; HashSet <string> errorNpbk = null; context.Errors.TryGetValue(UserMapping.NewPasswordKey, out errorNpk); context.Errors.TryGetValue(UserMapping.NewPasswordBisKey, out errorNpbk); if (!errorNpk.IsNullOrEmpty() || !errorNpbk.IsNullOrEmpty()) { ViewData["Title"] = AuthMessage.ChangePassword.NiceToString(); ModelState.FromContext(context); return(ResetPasswordSetNewError(request.Id, "")); } string errorPasswordValidation = UserEntity.OnValidatePassword(Request.Params[UserMapping.NewPasswordKey]); if (errorPasswordValidation.HasText()) { return(ResetPasswordSetNewError(request.Id, errorPasswordValidation)); } using (OperationLogic.AllowSave <UserEntity>()) { context.Value.Save(); } //remove pending requests Database.Query <ResetPasswordRequestEntity>().Where(r => r.User.Email == user.Email && r.Code == request.Code).UnsafeDelete(); } return(RedirectToAction("ResetPasswordSuccess")); }