public IList <Item> GetAllConfigItems() { var items = new List <Item>(); var children = new List <Item> { configRoot }; while (children.Any()) { Item current = children.First(); children.RemoveAt(0); if (current.HasChildren) { IList <Item> currentChildren = current .Children .Where(child => ConfigurationItemUtil.IsConfigurationItem(child)) .ToList(); if (currentChildren.Any()) { children.AddRange(currentChildren); items.AddRange(currentChildren); } } } return(items); }
public ConfigurationItemService(Item configItem) { this.configItem = configItem ?? throw new ArgumentNullException(nameof(configItem)); if (!ConfigurationItemUtil.IsConfigurationItem(this.configItem)) { throw new InvalidItemException($"{this.configItem.Paths.FullPath} is not a Configuration Item."); } }