Exemplo n.º 1
0
        private void FillChildren(MNode <TVal> father, IList <TVal> members)
        {
            foreach (TVal mem in members)
            {
                if ((mem.FatherID == father.TheValue.CurrentID) && (mem.CurrentID != (father.TheValue.CurrentID)))
                {
                    father.AddChild(mem);
                }
            }

            foreach (MNode <TVal> mem in father.Children)
            {
                this.FillChildren(mem, members);
            }
        }
Exemplo n.º 2
0
        private MNode <TVal> DOAppendOffSprings(MNode <TVal> current, string[] offSpringIDs, int startIndex)
        {
            MNode <TVal> temp = current;

            for (int i = startIndex; i < offSpringIDs.Length; i++)
            {
                TVal child = this.agileNodePicker.Retrieve(offSpringIDs[i]);
                if (child == null)
                {
                    return(null);
                }
                else
                {
                    temp = temp.AddChild(child);
                }
            }

            return(temp);
        }