public async Task <PagedFileListResult> GetPagedFileListAsync(int pageSize = 100, string searchPattern = null, CancellationToken cancellationToken = default) { if (pageSize <= 0) { return(PagedFileListResult.Empty); } if (searchPattern == null || String.IsNullOrEmpty(searchPattern)) { searchPattern = "*"; } searchPattern = searchPattern.NormalizePath(); var list = new List <FileSpec>(); if (!Directory.Exists(Path.GetDirectoryName(Path.Combine(Folder, searchPattern)))) { return(PagedFileListResult.Empty); } var result = new PagedFileListResult(s => Task.FromResult(GetFiles(searchPattern, 1, pageSize))); await result.NextPageAsync().AnyContext(); return(result); }
public async Task <PagedFileListResult> GetPagedFileListAsync(int pageSize = 100, string searchPattern = null, CancellationToken cancellationToken = default) { if (pageSize <= 0) { return(PagedFileListResult.Empty); } var result = new PagedFileListResult(r => GetFiles(searchPattern, 1, pageSize, cancellationToken)); await result.NextPageAsync().AnyContext(); return(result); }
private async Task <NextPageResult> NextPage(PagedFileListResult result) { var success = await result.NextPageAsync().AnyContext(); foreach (var file in result.Files) { file.Path = file.Path.Substring(_pathPrefix.Length); } return(new NextPageResult { Success = success, HasMore = result.HasMore, Files = result.Files, NextPageFunc = () => NextPage(result) }); }
public async Task <PagedFileListResult> GetPagedFileListAsync(int pageSize = 100, string searchPattern = null, CancellationToken cancellationToken = default) { if (pageSize <= 0) { return(PagedFileListResult.Empty); } if (searchPattern == null) { searchPattern = "*"; } searchPattern = searchPattern.NormalizePath(); var result = new PagedFileListResult(s => Task.FromResult(GetFiles(searchPattern, 1, pageSize))); await result.NextPageAsync().AnyContext(); return(result); }