private static void CreateProjectSructureRec(OAFolderItem folderItem, FileSystemInfo fsi, string subfolder) { if ((fsi.Attributes & FileAttributes.Directory) == FileAttributes.Directory) { var directoryInfo = fsi as DirectoryInfo; if (directoryInfo == null) { return; } var sfi = new OAFolderItem(directoryInfo.Name); folderItem.ProjectItems.Add(sfi); subfolder = Path.Combine(subfolder, directoryInfo.Name); foreach (var item in directoryInfo.GetFileSystemInfos()) { PackageUtility.CreateProjectSructureRec(sfi, item, subfolder); } } else { var fi = new OAFileItem(new FileNode(fsi.FullName)); folderItem.ProjectItems.Add(fi); } }
internal static FilesToPack CreateFilesToPack() { var moduleStructDir = new DirectoryInfo(@"../../Data/TestPuppetModule"); var project = new OAProject(); foreach (var dir in moduleStructDir.GetDirectories()) { var sfi = new OAFolderItem(dir.Name); project.ProjectItems.Add(sfi); var subfolder = string.Empty; foreach (var item in dir.GetFileSystemInfos()) { PackageUtility.CreateProjectSructureRec(sfi, item, subfolder); } } foreach (var file in moduleStructDir.GetFiles()) { var fi = new OAFileItem(new FileNode(file.FullName)); project.ProjectItems.Add(fi); } return(PackageUtility.GetFileStructure(project)); }