Carrotware.CMS.UI.Components.ChangePasswordInfo.ReconstructSettings C# (CSharp) Method

ReconstructSettings() public method

public ReconstructSettings ( ) : void
return void
        public void ReconstructSettings()
        {
            base.GetSettings(typeof(ChangePasswordInfoSettings));
            this.Settings = null;

            if (this.ValidateSettings != null && this.ValidateSettings is ChangePasswordInfoSettings) {
                this.Settings = this.ValidateSettings as ChangePasswordInfoSettings;
            }
        }

Usage Example

		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);
		}