示例#1
0
        public ActionResult ChangePasswordExpired([ModelBinder(typeof(DevExpressEditorsBinder))]  ChangePasswordModel changePasswordModel)
        {
            string lastUrl = "";

            if (ModelState.IsValid)
            {
                changePasswordService      = new ChangePasswordService();
                changePasswordModel.UserId = (int)Session["userId"];
                changePasswordService.ChangePassword(changePasswordModel);

                if (Session["IsPassExpired"] == "Y")
                {
                    var LastController = (string)Session["lastController"];

                    if (!string.IsNullOrEmpty(LastController))
                    {
                        if (GeneralGetList.GetAuthAction((int)Session["userId"], LastController + "/" + "Detail"))
                        {
                            lastUrl = Url.Action("Detail", LastController);
                        }
                    }

                    if (string.IsNullOrEmpty(lastUrl))
                    {
                        lastUrl = Url.Action("Index", "Home");
                    }

                    Session["IsPassExpired"] = "N";
                }
                else
                {
                    if (string.IsNullOrEmpty(lastUrl))
                    {
                        lastUrl = Url.Action("Index", "Home");
                    }
                }
            }
            else
            {
                string message = GetErrorModel();

                throw new Exception(string.Format("[VALIDATION] {0}", message));
            }

            return(Content(lastUrl));
        }
        public async Task OnSaveAsync()
        {
            MyUserAdapterModel myUserAdapterModel = new MyUserAdapterModel();

            #region 進行 Form Validation 檢查驗證作業
            if (LocalEditContext.Validate() == false)
            {
                return;
            }
            #endregion

            #region 其他資料完整性驗證
            if (ChangePasswordModel.NewPasswordAgain != ChangePasswordModel.NewPassword)
            {
                MessageBox.Show("400px", "200px",
                                ErrorMessageMappingHelper.Instance.GetErrorMessage(ErrorMessageEnum.警告),
                                ErrorMessageMappingHelper.Instance.GetErrorMessage(ErrorMessageEnum.新密碼2次輸入須相同));
                return;
            }
            else
            {
                myUserAdapterModel = await ChangePasswordService.GetCurrentUser();

                if (myUserAdapterModel == null)
                {
                    MessageBox.Show("400px", "200px",
                                    ErrorMessageMappingHelper.Instance.GetErrorMessage(ErrorMessageEnum.警告),
                                    ErrorMessageMappingHelper.Instance.GetErrorMessage(ErrorMessageEnum.使用者不存在));
                    return;
                }
            }
            #endregion

            #region 進行密碼變更
            await ChangePasswordService.ChangePassword(myUserAdapterModel, ChangePasswordModel.NewPassword);

            MessageBox.Show("400px", "200px",
                            ErrorMessageMappingHelper.Instance.GetErrorMessage(ErrorMessageEnum.警告),
                            ErrorMessageMappingHelper.Instance.GetErrorMessage(ErrorMessageEnum.密碼已經變更成功));

            #endregion
        }
示例#3
0
        public ActionResult ChangePassword([ModelBinder(typeof(DevExpressEditorsBinder))]  ChangePasswordModel changePasswordModel)
        {
            string lastUrl = "";

            if (ModelState.IsValid)
            {
                changePasswordService      = new ChangePasswordService();
                changePasswordModel.UserId = (int)Session["userId"];
                changePasswordService.ChangePassword(changePasswordModel);

                changePasswordModel = new ChangePasswordModel();
            }
            else
            {
                string message = GetErrorModel();

                throw new Exception(string.Format("[VALIDATION] {0}", message));
            }


            return(PartialView(VIEW_FORM_PARTIAL, changePasswordModel));
        }
示例#4
0
 public ManageUser(UserRepository userRepository, ChangePasswordService changePasswordService)
 {
     this.userRepository        = userRepository;
     this.changePasswordService = changePasswordService;
     this.viewUser = new ViewUser(userRepository);
 }
示例#5
0
        public async Task OnSaveAsync()
        {
            Relogin = false;
            var PasswordStrength = PasswordCheck.GetPasswordStrength(ChangePasswordModel.NewPassword);

            PasswordStrengthName = PasswordStrength.ToString();

            MyUserAdapterModel myUserAdapterModel = new MyUserAdapterModel();

            #region 進行 Form Validation 檢查驗證作業
            if (LocalEditContext.Validate() == false)
            {
                return;
            }
            #endregion

            #region 其他資料完整性驗證
            if (ChangePasswordModel.NewPasswordAgain != ChangePasswordModel.NewPassword)
            {
                MessageBox.Show("400px", "200px",
                                ErrorMessageMappingHelper.Instance.GetErrorMessage(ErrorMessageEnum.警告),
                                ErrorMessageMappingHelper.Instance.GetErrorMessage(ErrorMessageEnum.新密碼2次輸入須相同),
                                CloseMessageBox);
                return;
            }
            else
            {
                myUserAdapterModel = await ChangePasswordService.GetCurrentUser();

                if (myUserAdapterModel == null)
                {
                    MessageBox.Show("400px", "200px",
                                    ErrorMessageMappingHelper.Instance.GetErrorMessage(ErrorMessageEnum.警告),
                                    ErrorMessageMappingHelper.Instance.GetErrorMessage(ErrorMessageEnum.使用者不存在),
                                    CloseMessageBox);
                    return;
                }
            }
            #endregion

            string msg = await ChangePasswordService
                         .CheckWetherCanChangePassword(myUserAdapterModel, ChangePasswordModel.NewPassword);

            if (string.IsNullOrEmpty(msg) == false)
            {
                MessageBox.Show("400px", "200px",
                                ErrorMessageMappingHelper.Instance.GetErrorMessage(ErrorMessageEnum.警告), msg,
                                CloseMessageBox);
                return;
            }

            #region 進行密碼變更
            await ChangePasswordService.ChangePassword(myUserAdapterModel, ChangePasswordModel.NewPassword,
                                                       HttpContextAccessor.GetConnectionIP());

            Relogin = true;
            MessageBox.Show("400px", "200px",
                            ErrorMessageMappingHelper.Instance.GetErrorMessage(ErrorMessageEnum.警告),
                            ErrorMessageMappingHelper.Instance.GetErrorMessage(ErrorMessageEnum.密碼已經變更成功),
                            CloseMessageBox);

            #endregion
        }