Example #1
0
 private void RemoveChildrenFromDecks(SubDecks children)
 {
     for (int i = 0; i < children.Desks.Count; i++)
     {
         Decks.RemoveAt(children.StartIndex);
     }
 }
Example #2
0
        private SubDecks GetChildren(DeckInformation deck)
        {
            SubDecks children = new SubDecks();

            children.Desks      = new List <DeckInformation>();
            children.StartIndex = decks.IndexOf(deck) + 1;

            var level = deck.ChildLevel;

            for (int i = children.StartIndex; i < decks.Count; i++)
            {
                var childLevel = decks[i].ChildLevel;
                if (level >= childLevel)
                {
                    break;
                }
                children.Desks.Add(decks[i]);
            }
            return(children);
        }
Example #3
0
        private void UpdateChildrenPositionAndName(DeckInformation parent, SubDecks children)
        {
            if (children.Desks.Count == 0)
            {
                return;
            }

            var newStartIndex = decks.IndexOf(parent) + 1;

            for (int i = 0; i < children.Desks.Count; i++)
            {
                //No need to update children of a child
                //as they will be aslo updated in this for loop
                UpdateDeckName(children.Desks[i], false);
                if (parent.IsShowChildren)
                {
                    children.Desks[i].IsShowChildren = true;
                    children.Desks[i].Visibility     = Visibility.Visible;
                }

                Decks.Insert(newStartIndex + i, children.Desks[i]);
            }
        }