Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }