public Task <string[]> GetProductIdsOfModifiedReviewsAsync(ChangedReviewsQuery criteria) { var cacheKey = CacheKey.With(GetType(), nameof(GetProductIdsOfModifiedReviewsAsync), criteria.ModifiedDate.ToString("s")); return(_platformMemoryCache.GetOrCreateExclusiveAsync(cacheKey, async(cacheEntry) => { cacheEntry.AddExpirationToken(GenericCachingRegion <CustomerReview> .CreateChangeToken()); using (var repository = _repositoryFactory()) { var ids = await((ICustomerReviewRepository)repository).CustomerReviews .Where(r => r.ModifiedDate >= criteria.ModifiedDate) .GroupBy(r => r.ProductId) .Select(x => x.Key) .ToArrayAsync(); return ids; } })); }
public async Task <ActionResult <string[]> > GetProductIdsOfModifiedReviews([FromBody] ChangedReviewsQuery query) { var productIds = await((ICustomerReviewSearchService)_customerReviewSearchService).GetProductIdsOfModifiedReviewsAsync(query); return(Ok(productIds)); }