Exemple #1
0
        public PackageQuery(string searchTerm, int pageSize, QueryContinuation <IEnumerable <IPackageSearchMetadata> > query)
        {
            var comparer = new RelevanceSearchMetadataComparer(searchTerm);

            queryIndex = new PackageQueryIndex(comparer)
            {
                PageSize = pageSize
            };
            continuation = query;
        }
Exemple #2
0
        public async Task <IEnumerable <IPackageSearchMetadata> > GetPackageFeed(int pageIndex, CancellationToken token = default)
        {
            if (continuation != null && pageIndex >= continuationCounter)
            {
                var queryResult = await continuation.GetResultAsync(token);

                queryIndex.AddRange(queryResult.Result);
                continuation = queryResult.Continuation;
                continuationCounter++;
            }
            return(queryIndex.GetPage(pageIndex));
        }