public async Task <IPagedList <Model.ReviewRatings.ReviewRating> > GetReviewRatingsAsync(string id) { var cacheKey = CacheKey.With(GetType(), nameof(GetReviewRatingsAsync), id); return(await _memoryCache.GetOrCreateExclusiveAsync(cacheKey, async (cacheEntry) => { cacheEntry.AddExpirationToken(ReviewRatingCacheRegion.CreateChangeToken()); cacheEntry.AddExpirationToken(_changesWatcher.CreateChangeToken()); var result = await _customerReviewsApi.GetReviewRatingsAsync(id); return new StaticPagedList <Model.ReviewRatings.ReviewRating>(result.Results.Select(x => x.ToReviewRating()), 1, 20, result.TotalCount.Value); })); }
public async Task RateReviewAsync(Model.ReviewRatings.ReviewRating rating) { await _customerReviewsApi.RateAsync(rating.FromDto()); ReviewRatingCacheRegion.ExpireRegion(); }