Example #1
0
        public override async ValueTask <Page <ShareFileItem> > GetNextPageAsync(
            string continuationToken,
            int?pageSizeHint,
            bool isAsync,
            CancellationToken cancellationToken)
        {
            Task <Response <FilesAndDirectoriesSegment> > task = _client.GetFilesAndDirectoriesInternal(
                continuationToken,
                _prefix,
                pageSizeHint,
                isAsync,
                cancellationToken);
            Response <FilesAndDirectoriesSegment> response = isAsync ?
                                                             await task.ConfigureAwait(false) :
                                                             task.EnsureCompleted();

            var items = new List <ShareFileItem>();

            items.AddRange(response.Value.DirectoryItems.Select(d => new ShareFileItem(true, d.Name)));
            items.AddRange(response.Value.FileItems.Select(f => new ShareFileItem(false, f.Name, f.Properties?.ContentLength)));
            return(Page <ShareFileItem> .FromValues(
                       items.ToArray(),
                       response.Value.NextMarker,
                       response.GetRawResponse()));
        }
        public override async ValueTask <Page <ShareFileItem> > GetNextPageAsync(
            string continuationToken,
            int?pageSizeHint,
            bool async,
            CancellationToken cancellationToken)
        {
            Response <ListFilesAndDirectoriesSegmentResponse> response = await _client.GetFilesAndDirectoriesInternal(
                continuationToken,
                _prefix,
                pageSizeHint,
                _traits,
                _includeExtendedInfo,
                async,
                cancellationToken)
                                                                         .ConfigureAwait(false);

            var items = new List <ShareFileItem>();

            items.AddRange(response.Value.Segment.DirectoryItems.Select(d => d.ToShareFileItem()));
            items.AddRange(response.Value.Segment.FileItems.Select(f => f.ToShareFileItem()));
            return(Page <ShareFileItem> .FromValues(
                       items.ToArray(),
                       response.Value.NextMarker,
                       response.GetRawResponse()));
        }