Ejemplo n.º 1
0
        public ActionResult Update(changePassAdminViewModel pModel)
        {
            string userName = (from records in db.userTables
                               where records.userID == pModel.selectedUserId
                               select records.userName).FirstOrDefault();

            bool      valid = false;
            userTable user  = new userTable();

            //validate old password
            if (string.IsNullOrEmpty(pModel.oldPassInput))
            {
                ModelState.AddModelError("oldPassInput", "Password is Empty");
            }

            if (ModelState.IsValid)
            {
                var getUser = (from records in db.userTables
                               where records.userName == userName
                               select records);
                user  = getUser.FirstOrDefault();
                valid = security.validatePassword(pModel.oldPassInput, user.userPassword);
            }

            if (!valid)
            {
                ModelState.AddModelError("oldPassInput", "Invalid Password");
            }

            if (pModel.newPassInput != pModel.newPassInput2)
            {
                ModelState.AddModelError("newPassInput", "Passwords must match.");
            }
            else if (string.IsNullOrEmpty(pModel.newPassInput2))
            {
                ModelState.AddModelError("newPassInput2", "Password is Empty");
            }

            if (!string.IsNullOrEmpty(pModel.newPassInput))
            {
                string regex = @"(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}";
                Regex  re    = new Regex(regex);
                if (!re.IsMatch(pModel.newPassInput))
                {
                    ModelState.AddModelError("newPassInput", "Invalid password. Password must be at least 8 characters with at least one lowercase, one uppercase letter, and one digit.");
                }
            }
            else
            {
                ModelState.AddModelError("userPasswordFirst", "Password is Empty");
            }

            if (ModelState.IsValid)
            {
                string passHash = security.createHash(pModel.newPassInput2);
                user.userPassword = passHash;
                db.SaveChanges();
                return(RedirectToAction("passwordChanged", "Accounts"));
            }


            changePassAdminViewModel model = new changePassAdminViewModel(db.userTables.ToList());

            return(View(model));
        }
Ejemplo n.º 2
0
        public ActionResult Update()
        {
            changePassAdminViewModel model = new changePassAdminViewModel(db.userTables.ToList());

            return(View(model));
        }