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)); }
public ActionResult Update() { changePassAdminViewModel model = new changePassAdminViewModel(db.userTables.ToList()); return(View(model)); }