private async Task <QueryResult <FileSystemMetadata> > FindFilesMetadata(string accessToken, CancellationToken cancellationToken) { var files = new List <FileSystemMetadata>(); var deltaResult = new DeltaResult { has_more = true }; while (deltaResult.has_more) { deltaResult = await _dropboxApi.Delta(deltaResult.cursor, accessToken, cancellationToken); var newFiles = deltaResult.entries .Select(deltaEntry => deltaEntry.Metadata) .Where(metadata => metadata != null) .Select(CreateFileMetadata); files.AddRange(newFiles); } return(new QueryResult <FileSystemMetadata> { Items = files.ToArray(), TotalRecordCount = files.Count }); }
private async Task <QueryResult <FileSystemMetadata> > FilesInFolder(string folder, string accessToken, CancellationToken cancellationToken) { var files = new List <FileSystemMetadata>(); var deltaResult = new DeltaResult { has_more = true }; while (deltaResult.has_more) { deltaResult = await _dropboxApi.FilesInFolder(folder, accessToken, cancellationToken, _logger).ConfigureAwait(false); var newFiles = deltaResult.entries .Where(e => e.id != null) .Select(CreateFileMetadata) .Where(fsi => !fsi.IsDirectory); files.AddRange(newFiles); } return(new QueryResult <FileSystemMetadata> { Items = files.ToArray(), TotalRecordCount = files.Count }); }