Пример #1
0
        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
            });
        }
Пример #2
0
        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
            });
        }