private static JadeData.Project.IFolder MakeFolder(string projectDir, FolderType xml) { JadeData.Project.Folder folder = new JadeData.Project.Folder(xml.Name); foreach (FileType f in xml.Files) folder.AddItem(MakeFile(projectDir, f)); foreach (FolderType f in xml.Folders) folder.AddFolder(MakeFolder(projectDir, f)); return folder; }
static private FolderType MakeFolder(JadeData.Project.IFolder folder) { FolderType result = new FolderType(); result.Name = folder.Name; result.Files = new FileType[folder.Items.OfType<JadeData.Project.File>().Count()]; result.Folders = new FolderType[folder.Folders.Count]; int idx = 0; foreach (JadeData.Project.File f in folder.Items.OfType<JadeData.Project.File>()) { result.Files[idx] = MakeFile(f); idx++; } idx = 0; foreach (JadeData.Project.IFolder f in folder.Folders) { result.Folders[idx] = MakeFolder(f); } return result; }