/// <summary> /// Finds all eperiment collection grants derived from the specified qualID, /// and loads the values into the GrantInfo. /// </summary> /// <param name="qualID"></param> /// <param name="gInfo"></param> private void processGrantInfo(int groupID,GrantInfo gInfo) { int [] grantIDs = wrapper.FindGrantsWrapper(groupID,null,groupInfo.collectionNode); if(grantIDs.Length > 0) { Grant [] grants = wrapper.GetGrantsWrapper(grantIDs); foreach(Grant g in grants) { if(g.function.CompareTo(Function.readExperimentFunctionType) ==0) { gInfo.isRead = true; } if(g.function.CompareTo(Function.writeExperimentFunctionType) ==0) { gInfo.isWrite = true; } if(g.function.CompareTo(Function.createExperimentFunctionType) ==0) { gInfo.isCreate = true; } } } }
private void getExpGrants() { // Process grants Group [] subGroups; expGrants = new ArrayList(); GrantInfo gInfo = new GrantInfo(); gInfo.name = txtName.Text; gInfo.isEditable = true; // Find all grants for this group processGrantInfo(groupInfo.id,gInfo); expGrants.Add(gInfo); // Get any child groups //int []subIds = wrapper.ListGroupsForAgentWrapper(groupInfo.id); int []subGroupIDs = wrapper.ListSubgroupIDsWrapper(groupInfo.id); if (subGroupIDs.Length>0) { subGroups = wrapper.GetGroupsWrapper(subGroupIDs); if(displaySubgroups) { repSubGroups.DataSource = subGroups; repSubGroups.DataBind(); } foreach(Group sgrp in subGroups) { gInfo = new GrantInfo(); gInfo.name = sgrp.GroupName; gInfo.id=sgrp.groupID; processGrantInfo(sgrp.GroupID,gInfo); expGrants.Add(gInfo); } } }