private void BuildProjectTree(ProjectItem parent, string[] parts, int index) { var item = parent.Items.Where(i => i.Name == parts[index]).FirstOrDefault(); if (item == null) { if (index < parts.Length - 1) { var dir = new DirectoryItem(Path.Combine(parent.FolderPath, parts[index])); parent.AddChild(dir); BuildProjectTree(dir, parts, index + 1); } else { var file = new FileItem(Path.Combine(parent.FolderPath, parts[index])); parent.AddChild(file); } } else { BuildProjectTree(item, parts, index + 1); } }
//======================================================================================== // Methods //======================================================================================== public int AddChild(ProjectItem item) { return(root.AddChild(item)); }