コード例 #1
0
		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();
		}
コード例 #2
0
		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";
		}