private void dgPermissions_UpdateCommand(object source, DataGridCommandEventArgs e) { //Cell Index is the index of permissionID int permissionID = Convert.ToInt32( e.Item.Cells[0].Text); BPGroups bp = new BPGroups(); DSGroups = bp.SelectGroupPermissionsByGroupID(GroupID); BEGroups.tbl_GroupPermissionsRow groupPermission = DSGroups.tbl_GroupPermissions.FindByGroupIDPermissionID(GroupID, permissionID); DropDownList lstPermValues = (DropDownList) e.Item.FindControl("lstPermValues"); groupPermission.GroupPermissionValue = Convert.ToInt16(lstPermValues.SelectedValue); bp.UpdateGroupPermissions(DSGroups); DSGroups = bp.SelectGroupPermissionsByGroupID(GroupID); dgPermissions.EditItemIndex = -1; dgPermissions.SelectedIndex = -1; dgPermissions.DataBind(); }
private void btnDone_Click(object sender, EventArgs e) { if (_HasChangedUsers ) { BPGroups bpGroups = new BPGroups(); if (_HasChangedUsers ) { DSGroups = bpGroups.SelectGroupPermissionsByGroupID(GroupID); ArrayList perms = new ArrayList(PermList); perms.Sort(); //Remove Duplicates if (perms.Count > 1) { int iLast,iCurrent; iLast = (int) perms[0]; for (int i=1; i<perms.Count; i++) { iCurrent = (int) perms[i]; if (iCurrent == iLast) { perms.RemoveAt(i); } iLast = iCurrent; } } int SearchIndex; foreach (BEGroups.tbl_GroupPermissionsRow groupPerm in DSGroups.tbl_GroupPermissions) { SearchIndex = perms.BinarySearch(groupPerm.PermissionID); if (SearchIndex < 0) //if (Array.BinarySearch(groupPerm.PermissionID)) { //Not Found groupPerm.Delete(); } else { perms.RemoveAt(SearchIndex); } } foreach (int i in perms) { BEGroups.tbl_GroupPermissionsRow groupPerm; groupPerm = DSGroups.tbl_GroupPermissions.FindByGroupIDPermissionID(GroupID, i); if(groupPerm == null) { groupPerm = DSGroups.tbl_GroupPermissions.Newtbl_GroupPermissionsRow(); groupPerm.GroupID = GroupID; groupPerm.PermissionID = i; groupPerm.GroupPermissionValue = 2; DSGroups.tbl_GroupPermissions.Addtbl_GroupPermissionsRow(groupPerm); } //The first value for a permission should always be 1. groupPerm.GroupPermissionValue = 2; } } bpGroups.UpdateGroupPermissions(DSGroups); DSGroups = bpGroups.SelectGroupPermissionsByGroupID(GroupID); dgPermissions.DataBind(); } pnlAssign.Visible = false; pnlPermissions.Visible = true; tab1.Attributes["class"] = ""; tab2.Attributes["class"] = "current"; }