예제 #1
0
        public ActionResult ForgetChangePassword(ChangePasswordBaseModel model)
        {
            LogonUserSession logonUserSession = (LogonUserSession)SessionHelper.LogonUser;

            if ((Int32.Parse(logonUserSession.STATUS.ToString())) == Status.PWDEXPIRED)
            {
                // model.Message = "Your password expired" + logonUserSession.EXPIREDDAYS.ToString() + " days";
                model.Message = "Your Password expired";
            }

            ModelState.Clear();
            return(View(model));
        }
예제 #2
0
        public ActionResult ForgetChangePassword(ChangePasswordBaseModel model, string button)
        {
            int userStatus;

            try
            {
                LogonUserSession logonUserSession = (LogonUserSession)SessionHelper.LogonUser;
                encryptSha1      encrypt          = new encryptSha1();
                userStatus = Int32.Parse(logonUserSession.STATUS.ToString());
                if (button == "Cancel" && userStatus != Status.PWDEXPIRED && userStatus != Status.FIRSTLOGIN && userStatus != Status.FORGETPWD)
                {
                    return(Redirect(GetHomeUrl()));
                }

                else
                {
                    if (button == "Cancel")
                    {
                        ModelState.Clear();
                    }
                    else
                    {
                        if (ModelState.IsValid)
                        {
                            ChangePasswordModel ChangePwd = new ChangePasswordModel();
                            try
                            {
                                model.HashCurrentPassword = logonUserSession.CURRENTPASSWORD.ToString();
                                model.HashConfirmPassword = encrypt.GetSHA1HashData(model.NewPassword + logonUserSession.USERID);

                                if (string.Equals(logonUserSession.TEMPUSERNAME.ToString(), model.NewPassword, StringComparison.OrdinalIgnoreCase))
                                {
                                    ModelState.AddModelError("NewPassword", "Username and New Password should not be same.");
                                }
                                else

                                if (string.Equals(model.HashCurrentPassword, model.HashConfirmPassword, StringComparison.OrdinalIgnoreCase))
                                {
                                    ModelState.AddModelError("NewPassword", "NewPassword should not be equal to CurrentPassword");
                                }
                                else
                                {
                                    int   pwdCount = Int32.Parse(logonUserSession.PASSWORDCOUNT.ToString());
                                    Int64 userId   = Int64.Parse(logonUserSession.USERID.ToString());
                                    int   status   = ChangePasswordfun(userId, model.HashCurrentPassword, model.HashConfirmPassword, pwdCount);

                                    if (status == 1)     //  1-PASS 2 INVALID CURRENTPASSWORD 3 ALREADY USED
                                    {
                                        if ((Int32.Parse(logonUserSession.STATUS.ToString())) == Status.PWDEXPIRED || (Int32.Parse(logonUserSession.STATUS.ToString())) == Status.FORGETPWD)
                                        {
                                            logonUserSession.USERNAME = logonUserSession.TEMPUSERNAME;

                                            logonUserSession.TEMPUSERNAME = null;
                                        }
                                        logonUserSession.CURRENTPASSWORD = model.HashConfirmPassword;
                                        logonUserSession.STATUS          = Status.CHGPWD;
                                        SessionHelper.LogonUser          = logonUserSession;

                                        model.Message = "Your password has been changed successfully";     //Msg.PWDCHANGED;
                                        return(RedirectToAction("LogOn"));
                                    }

                                    else if (status == 3)
                                    {
                                        model.Message = "New password already used";     //Msg.EXISTPWD;
                                    }
                                    else
                                    {
                                        model.Message = "Failed";
                                    }
                                }
                            }
                            catch (Exception)
                            {
                                //  changePasswordSucceeded = false;
                            }
                        }
                    }
                }
                // If we got this far, something failed, redisplay form
                return(View(model));
            }

            catch (Exception ex)
            {
                throw ex;
            }
        }