Example #1
0
        public async Task <AppStorageBrowseModel> GetFolderContentAsync(AppStorageBrowseModel model)
        {
            var folderItem = await GetByAlias(model.Alias);

            if (folderItem == null)
            {
                return(null);
            }
            if (model.Path.StartsWith(Path.DirectorySeparatorChar))
            {
                model.Path = model.Path.Substring(1);
            }
            var cachedItem = await GetCacheItemAsync(folderItem.Id);

            var serverPath = Path.Combine(cachedItem.RootFolder, model.Path);
            var dirInfo    = new DirectoryInfo(serverPath);

            if (!dirInfo.Exists)
            {
                return(null);
            }
            model.Folders = dirInfo.EnumerateDirectories().Select(x => x.Name).ToArray();
            model.Files   = dirInfo.EnumerateFiles(model.Filter).Select(x => x.Name).ToArray();
            return(model);
        }
Example #2
0
        public async Task _03_GetFolderContentAsync()
        {
            var faModel = new AppStorageBrowseModel {
                Alias  = "icons",
                Path   = "fa",
                Filter = "*.*"
            };
            var result = await Target.GetFolderContentAsync(faModel);

            Assert.IsNotNull(result);
            Assert.IsNotEmpty(result.Folders);
            Assert.IsEmpty(result.Files);
            var biModel = new AppStorageBrowseModel {
                Alias  = "icons",
                Path   = "bi",
                Filter = "*.svg"
            };

            result = await Target.GetFolderContentAsync(biModel);

            Assert.IsNotNull(result);
            Assert.IsNotEmpty(result.Files);
            Assert.IsEmpty(result.Folders);
        }