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