protected void OnUserDeleteClicked(object sender, EventArgs e) { LinkButton lnkItem = (LinkButton)sender; string userID = lnkItem.CommandArgument; //Check whether this user is being used //Delete user's permissions first. ParamUserPermissionRepository perRepo = new ParamUserPermissionRepository(); IList<ParamUserPermission> oldPerList = perRepo.GetPermissionsOfUser(userID); foreach (ParamUserPermission deletePer in oldPerList) { perRepo.DeleteUserPermission(deletePer); } //Delete user ParamUser deleteItem = new ParamUser(userID); ParamUserRepository repo = new ParamUserRepository(); repo.Delete(deleteItem); BindGridData(); gridUsers.DataBind(); }
private void SavePermission(ParamUser user) { ParamUserPermissionRepository perRepo = new ParamUserPermissionRepository(); IList<ParamUserPermission> oldPerList = perRepo.GetPermissionsOfUser(user.UserID); string[] newPerArray = hiddenPermissionList.Value.Split(';'); if (newPerArray != null && newPerArray.Length > 0) { for (int i = 0; i < newPerArray.Length; i++) { if (!string.IsNullOrEmpty(newPerArray[i])) { bool isNew = true; foreach (ParamUserPermission oldItem in oldPerList) { if (oldItem.PermissionCode.Trim() == newPerArray[i].Trim()) { isNew = false; break; } } if (isNew) { ParamUserPermission newItem = new ParamUserPermission(); newItem.UserID = user.UserID; newItem.PermissionCode = newPerArray[i].Trim(); perRepo.Insert(newItem); } } } } foreach (ParamUserPermission oldItem in oldPerList) { bool isDelete = true; if (newPerArray != null && newPerArray.Length > 0) { for (int i = 0; i < newPerArray.Length; i++) { if (oldItem.PermissionCode.Trim() == newPerArray[i].Trim()) { isDelete = false; break; } } } if (isDelete) perRepo.DeleteUserPermission(oldItem); } }