public async Task <IQueryResult <IEnumerable <CarModel> > > Handle(GetAllCarsQuery request, CancellationToken cancellationToken)
        {
            var domainObjects = await _queryCarCatalogRepository.GetCarsAsync();

            var models = _mapper.Map <List <CarModel> >(domainObjects);

            return(await Task.FromResult(new QueryResult <IEnumerable <CarModel> >(models)));
        }
示例#2
0
        public async Task <List <Car> > GetCarsAsync()
        {
            var cacheKey = $"{nameof(GetCarsAsync)}";

            if (!_memoryCache.TryGetValue(cacheKey, out List <Car> cacheEntry))
            {
                cacheEntry = await _queryCarCatalogRepository.GetCarsAsync();

                var cacheEntryOptions = new MemoryCacheEntryOptions()
                                        .SetSlidingExpiration(TimeSpan.FromSeconds(5));
                _memoryCache.Set(cacheKey, cacheEntry, cacheEntryOptions);
            }
            return(cacheEntry);
        }