public IList <IClientFileSystemItem> GetDirectoryContents(FileItemPathInfo pathInfo) { var fileItems = GetDirectoryContents(pathInfo.GetFileItemKey <int>()); var hasSubDirectoriesInfo = GetHasSubDirectoriesInfo(fileItems); var clientItemList = new List <IClientFileSystemItem>(); foreach (var item in fileItems) { var clientItem = new ClientFileSystemItem { Key = item.Id, Name = item.Name, IsDirectory = item.IsDirectory, DateModified = item.Modified }; if (item.IsDirectory) { clientItem.HasSubDirectories = hasSubDirectoriesInfo.ContainsKey(item.Id) && hasSubDirectoriesInfo[item.Id]; } clientItem.CustomFields["modifiedBy"] = item.ModifiedBy.FullName; clientItem.CustomFields["created"] = item.Created; clientItemList.Add(clientItem); } return(clientItemList); }
public IList <IClientFileSystemItem> GetDirectoryContents(string path) { string fullDirPathWithCheckOnExistence = GetFullDirPathWithCheckOnExistence(path); List <IClientFileSystemItem> list = new List <IClientFileSystemItem>(); string[] directories = FileSystemService.GetDirectories(fullDirPathWithCheckOnExistence); foreach (string text in directories) { DirectoryInfo directoryInfo = new DirectoryInfo(text); ClientFileSystemItem clientFileSystemItem = CreateClientFileItem(directoryInfo, text); PrepareFileSystemItemCallback?.Invoke(directoryInfo, clientFileSystemItem); list.Add(clientFileSystemItem); } directories = FileSystemService.GetFiles(fullDirPathWithCheckOnExistence); foreach (string text2 in directories) { FileInfo fileInfo = new FileInfo(text2); ClientFileSystemItem clientFileSystemItem2 = CreateClientFileItem(fileInfo, text2); PrepareFileSystemItemCallback?.Invoke(fileInfo, clientFileSystemItem2); list.Add(clientFileSystemItem2); } return(list); }