public List<Item> GetAllItems(string startPath, IItemFinderCriterion criteria)
        {
            EnqueueItems(m_database.SelectItems(startPath));
            var results = new List<Item>();

            while(m_itemsToBeProcessed.Count > 0)
            {
                Item currentlyProcessedItem = m_itemsToBeProcessed.Dequeue();

                if(currentlyProcessedItem.HasChildren)
                {
                    EnqueueItems(currentlyProcessedItem.Children.ToArray());
                }

                if (criteria.Match(currentlyProcessedItem))
                {
                    results.Add(currentlyProcessedItem);
                }
            } 

            return results;
        }
Example #2
0
        public List <Item> GetAllItems(string startPath, IItemFinderCriterion criteria)
        {
            EnqueueItems(m_database.SelectItems(startPath));
            var results = new List <Item>();

            while (m_itemsToBeProcessed.Count > 0)
            {
                Item currentlyProcessedItem = m_itemsToBeProcessed.Dequeue();

                if (currentlyProcessedItem.HasChildren)
                {
                    EnqueueItems(currentlyProcessedItem.Children.ToArray());
                }

                if (criteria.Match(currentlyProcessedItem))
                {
                    results.Add(currentlyProcessedItem);
                }
            }

            return(results);
        }
 public List<Item> GetAllItems(IItemFinderCriterion criteria)
 {
     return GetAllItems(RootNodePath, criteria);
 }
Example #4
0
 public List <Item> GetAllItems(IItemFinderCriterion criteria)
 {
     return(GetAllItems(RootNodePath, criteria));
 }