public static IProjectFolder GetSubFolders(FileSystemProject project, IProjectFolder parent, string path) { var result = new StandardProjectFolder(path); try { var folders = Directory.GetDirectories(path); if (folders.Count() > 0) { foreach (var folder in folders.Where(f => !IsExcluded(project.ExcludedFiles, project.CurrentDirectory.MakeRelativePath(f).ToAvalonPath()))) { result.Items.InsertSorted(GetSubFolders(project, result, folder)); } } PopulateFiles(project, result); project.Folders.InsertSorted(result); result.Parent = parent; result.Project = project; } catch (Exception) { } return(result); }
public static void PopulateFiles(FileSystemProject project, IProjectFolder folder) { var files = Directory.EnumerateFiles(folder.Location); files = files.Where(f => !IsExcluded(project.ExcludedFiles, project.CurrentDirectory.MakeRelativePath(f).ToAvalonPath()) && f != project.Location); foreach (var file in files) { var sourceFile = File.FromPath(project, folder, file.ToPlatformPath().NormalizePath()); project.SourceFiles.InsertSorted(sourceFile); folder.Items.InsertSorted(sourceFile); } }
public static void PopulateFiles(FileSystemProject project, IProjectFolder folder) { var files = Directory.EnumerateFiles(folder.Location); files = files.Where(f =>!IsExcluded(project.ExcludedFiles, project.CurrentDirectory.MakeRelativePath(f).ToAvalonPath()) && f != project.Location); foreach (var file in files) { var sourceFile = File.FromPath(project, folder, file.ToPlatformPath()); project.SourceFiles.InsertSorted(sourceFile); folder.Items.InsertSorted(sourceFile); } }
private void RemoveFiles(FileSystemProject project, IProjectFolder folder) { foreach (var item in folder.Items) { if (item is IProjectFolder) { RemoveFiles(project, item as IProjectFolder); project.Folders.Remove(item as IProjectFolder); } if (item is ISourceFile) { project.SourceFiles.Remove(item as ISourceFile); } } }
private void RemoveFiles(FileSystemProject project, IProjectFolder folder) { foreach (var item in folder.Items.ToList()) { if (item is IProjectFolder subfolder) { RemoveFiles(project, subfolder); project.Folders.Remove(subfolder); } if (item is ISourceFile file) { project.RemoveFile(file); } } }
public static IProjectFolder GetSubFolders(FileSystemProject project, IProjectFolder parent, string path) { var result = new StandardProjectFolder(path); var folders = Directory.GetDirectories(path); if (folders.Count() > 0) { foreach (var folder in folders.Where(f => !IsExcluded(project.ExcludedFiles, project.CurrentDirectory.MakeRelativePath(f).ToAvalonPath()))) { result.Items.InsertSorted(GetSubFolders(project, result, folder)); } } PopulateFiles(project, result); project.Folders.InsertSorted(result); result.Parent = parent; result.Project = project; return result; }
private void RemoveFiles(FileSystemProject project, IProjectFolder folder) { foreach (var item in folder.Items) { if (item is IProjectFolder) { RemoveFiles(project, item as IProjectFolder); project.Folders.Remove(item as IProjectFolder); } if (item is ISourceFile) { project.SourceFiles.Remove(item as ISourceFile); } } }