public static DirectoryEntity FromDirectoryInfo(DirectoryInfo directory) { var result = new DirectoryEntity(); result.DirectoryInfo = directory; return(result); }
public IFileSystemItem GetParent(int level = 1) { if (level == 0) { return(this); } else { return(DirectoryEntity.FromDirectoryInfo(this.FileInfo.Directory).GetParent(level - 1)); } }
public IFileSystemItem[] Search(string patten) { var files = DirectoryInfo.GetFiles(patten, SearchOption.AllDirectories).Select(x => (IFileSystemItem)FileEntity.FromFileInfo(x)); var directories = DirectoryInfo.GetDirectories(patten, SearchOption.AllDirectories).Select(x => (IFileSystemItem)DirectoryEntity.FromDirectoryInfo(x)); return(directories.Concat(files).ToArray()); }
public IFileSystemItem[] GetChildren() { var files = DirectoryInfo.GetFiles().Select(x => (IFileSystemItem)FileEntity.FromFileInfo(x)); var directories = DirectoryInfo.GetDirectories().Select(x => (IFileSystemItem)DirectoryEntity.FromDirectoryInfo(x)); return(directories.Concat(files).ToArray()); }