Beispiel #1
0
        public async Task <IPagedList <FulfillmentCenter> > SearchFulfillmentCentersAsync(FulfillmentCenterSearchCriteria criteria)
        {
            var criteriaDto = new inventoryDto.FulfillmentCenterSearchCriteria
            {
                SearchPhrase = criteria.SearchPhrase,
                Skip         = (criteria.PageNumber - 1) * criteria.PageSize,
                Take         = criteria.PageSize,
                Sort         = criteria.Sort
            };

            var searchResult = await _inventoryApi.SearchFulfillmentCentersAsync(criteriaDto);

            var centers = searchResult.Results.Select(x => x.ToFulfillmentCenter());

            return(new StaticPagedList <FulfillmentCenter>(centers, criteria.PageNumber, criteria.PageSize, searchResult.TotalCount.Value));
        }
Beispiel #2
0
        public async Task <IPagedList <FulfillmentCenter> > SearchFulfillmentCentersAsync(FulfillmentCenterSearchCriteria criteria)
        {
            var cacheKey = CacheKey.With(GetType(), "SearchFulfillmentCenters", criteria.GetCacheKey());

            return(await _memoryCache.GetOrCreateExclusiveAsync(cacheKey, async (cacheEntry) =>
            {
                cacheEntry.AddExpirationToken(InventoryCacheRegion.CreateChangeToken());
                cacheEntry.AddExpirationToken(_apiChangesWatcher.CreateChangeToken());

                var criteriaDto = new inventoryDto.FulfillmentCenterSearchCriteria
                {
                    SearchPhrase = criteria.SearchPhrase,
                    Skip = (criteria.PageNumber - 1) * criteria.PageSize,
                    Take = criteria.PageSize,
                    Sort = criteria.Sort
                };

                var searchResult = await _inventoryApi.SearchFulfillmentCentersAsync(criteriaDto);
                var centers = searchResult.Results.Select(x => x.ToFulfillmentCenter());
                return new StaticPagedList <FulfillmentCenter>(centers, criteria.PageNumber, criteria.PageSize, searchResult.TotalCount.Value);
            }));
        }