Пример #1
0
        private void DoHierarchicalAction(SCObjectSet objectSet, IImportContext context, IDictionary <string, PC.SchemaObjectBase> knownObjects, Dictionary <string, IList <PC.SCOrganization> > orgToOrgRelations, Dictionary <string, IList <PC.SCUser> > orgToUserRelations, Dictionary <string, IList <PC.SCGroup> > orgToGroupRelations, PC.SCOrganization currentParent, HierarchicalAction actionAdapter)
        {
            // 爬树
            PC.SchemaObjectCollection objects = objectSet.Objects;

            if (orgToOrgRelations.ContainsKey(currentParent.ID))
            {
                var childList = orgToOrgRelations[currentParent.ID];

                for (int i = 0; i < childList.Count; i++)
                {
                    this.currentSteps++;

                    var org = childList[i];

                    System.Diagnostics.Debug.WriteLine("正在处理组织" + org.Name);

                    actionAdapter.ExecuteEachOrganization(objectSet, context, knownObjects, org, orgToOrgRelations, orgToUserRelations, orgToGroupRelations);

                    this.DoHierarchicalAction(objectSet, context, knownObjects, orgToOrgRelations, orgToUserRelations, orgToGroupRelations, org, actionAdapter);
                }
            }
        }
		private void DoHierarchicalAction(SCObjectSet objectSet, IImportContext context, IDictionary<string, PC.SchemaObjectBase> knownObjects, Dictionary<string, IList<PC.SCOrganization>> orgToOrgRelations, Dictionary<string, IList<PC.SCUser>> orgToUserRelations, Dictionary<string, IList<PC.SCGroup>> orgToGroupRelations, PC.SCOrganization currentParent, HierarchicalAction actionAdapter)
		{
			// 爬树
			PC.SchemaObjectCollection objects = objectSet.Objects;

			if (orgToOrgRelations.ContainsKey(currentParent.ID))
			{
				var childList = orgToOrgRelations[currentParent.ID];

				for (int i = 0; i < childList.Count; i++)
				{
					this.currentSteps++;

					var org = childList[i];

					System.Diagnostics.Debug.WriteLine("正在处理组织" + org.Name);

					actionAdapter.ExecuteEachOrganization(objectSet, context, knownObjects, org, orgToOrgRelations, orgToUserRelations, orgToGroupRelations);

					this.DoHierarchicalAction(objectSet, context, knownObjects, orgToOrgRelations, orgToUserRelations, orgToGroupRelations, org, actionAdapter);
				}
			}
		}