public Hierarchy GetOrAddHierarchy(string HierarchyUniqueName) { Hierarchy result; if (!dHierarchies.TryGetValue(HierarchyUniqueName,out result)) { result = new Hierarchy(this, HierarchyUniqueName, Hierarchies.Count); Hierarchies.Add(result); dHierarchies[HierarchyUniqueName]=result; } return result; }
internal HierarchyMember(Hierarchy Hierarchy, HierarchyMember ParentMember, Level Level, string UniqueNameInHierarchy) { this.Hierarchy = Hierarchy; this.UniqueName = UniqueNameInHierarchy; this.Level = Level; this.ParentMember = ParentMember; Hierarchy.Members[UniqueNameInHierarchy] = this; if (ParentMember==null) Hierarchy.FirstLevelMembers.Add(this); else ParentMember.Childs.Add(this); }
internal Level(Hierarchy Hierarchy, int Index) { this.Hierarchy=Hierarchy; this.Index = Index; }