public ActionResult Edit([Bind(Include = "AccessControlID,MachineID,PasswordEntry,RecordCreated,CreatedBy,LastUpdated,LastUpdatedBy,ViewedState,IsActive")] AccessControl accessControl) { AccessControl accessControlCurrent = _AccessControlService.GetByIdNotTracked(accessControl.AccessControlID); if (ModelState.IsValid) { string EncryptPassword = accessControlCurrent.PasswordEntry.Equals(accessControl.PasswordEntry) ? accessControl.PasswordEntry : Encryption.Encrypt.EncryptString(accessControl.PasswordEntry, WebConfigurationManager.AppSettings["MonkeyString"]); string ViewedState = string.Empty; ViewedState = accessControlCurrent.IsActive & accessControl.IsActive == false ? "Disabled" : "Modified"; ViewedState = !accessControlCurrent.PasswordEntry.Equals(accessControl.PasswordEntry) ? "Password Reset" : ViewedState; accessControl.ViewedState = ViewedState; accessControl.LastUpdated = System.DateTime.Now; accessControl.LastUpdatedBy = User.Identity.Name; //if (!accessControlCurrent.PasswordEntry.Equals(accessControl.PasswordEntry)) //{ accessControl.PasswordEntry = EncryptPassword; // } _AccessControlService.Update(accessControl); switch (ViewedState) { case "Password Reset": _AccessControlTransaction.Create(_AccessControlTransaction.LogTransaction(accessControl.AccessControlID, Model.Common.Constants.TransactionConst.TransactionType.OldPassword, User.Identity.Name, _MachineService.GetById(accessControl.MachineID).MachineName, accessControlCurrent.PasswordEntry)); _AccessControlTransaction.Create(_AccessControlTransaction.LogTransaction(accessControl.AccessControlID, Model.Common.Constants.TransactionConst.TransactionType.PasswordReset, User.Identity.Name, _MachineService.GetById(accessControl.MachineID).MachineName, EncryptPassword)); break; case "Disabled": _AccessControlTransaction.Create(_AccessControlTransaction.LogTransaction(accessControl.AccessControlID, Model.Common.Constants.TransactionConst.TransactionType.Disabled, User.Identity.Name, _MachineService.GetById(accessControl.MachineID).MachineName, EncryptPassword)); break; case "Modified": _AccessControlTransaction.Create(_AccessControlTransaction.LogTransaction(accessControl.AccessControlID, Model.Common.Constants.TransactionConst.TransactionType.Modified, User.Identity.Name, _MachineService.GetById(accessControl.MachineID).MachineName, EncryptPassword)); break; } return(RedirectToAction("Index")); } ViewBag.MachineID = new SelectList(_MachineService.GetAllActive(), "MachineID", "MachineName", accessControl.MachineID); return(View(accessControl)); }