public static List <DiagramNode> DiagramNodes() { var result = new List <DiagramNode>(); var root = new DiagramNode("0"); result.Add(root); AddNodes(root, new int[] { 3, 2, 2 }); return(result); }
private static void AddNodes(DiagramNode root, IEnumerable <int> levels) { if (levels.Any()) { for (int i = 0; i < levels.First(); i++) { var node = new DiagramNode(root.Name + "." + i); root.Items.Add(node); if (levels.Count() > 1) { AddNodes(node, levels.Skip(1)); } } } }