protected ChangePasswordInfo InitChangePasswordInfo(string partialName) { ChangePasswordInfo model = new ChangePasswordInfo(); _settings = new ChangePasswordInfoSettings(); if (_helper.ViewData[ChangePasswordInfo.Key] != null) { model = _helper.ViewData[ChangePasswordInfo.Key] as ChangePasswordInfo; } else { model = new ChangePasswordInfo(); } _settings.Uri = CarrotCakeHtml.CmsPage.ThePage.FileName; _settings.PostPartialName = partialName; model.Settings = _settings; return(model); }
public async Task<ActionResult> ChangePassword(ChangePasswordInfo model) { model.ReconstructSettings(); this.ViewData[ChangePasswordInfo.Key] = model; LoadPage(model.Settings.Uri); var settings = model.Settings; if (!SecurityData.IsAuthenticated) { ModelState.AddModelError("", "User is not authenticated"); } if (settings.UseValidateHuman) { bool IsValidated = model.ValidateHuman.ValidateValue(model.ValidationValue); if (!IsValidated) { ModelState.AddModelError("ValidationValue", model.ValidateHuman.AltValidationFailText); model.ValidationValue = String.Empty; } } if (ModelState.IsValid && SecurityData.IsAuthenticated) { string successView = settings.PostPartialName; if (!String.IsNullOrEmpty(settings.PostPartialName)) { successView = settings.PostPartialSuccess; } var result = await securityHelper.UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword, model.NewPassword); if (result.Succeeded) { var user = await securityHelper.UserManager.FindByIdAsync(User.Identity.GetUserId()); if (user != null) { await securityHelper.SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); } return PartialView(successView, model); } AddErrors(result); } Helper.HandleErrorDict(ModelState); return PartialView(settings.PostPartialName, model); }
public HtmlHelper <ChangePasswordInfo> GetModelHelper(string partialName) { _model = InitChangePasswordInfo(partialName); return(InitHelp()); }