private void StoreAllProductSizeInCache(ProductSizeQueryRequest request) { var sizes = _productRepository.GetProductSizes(request.Keyword, request.Category); var productSizeDto = Mapper.Map <IList <ProductSize>, IList <ProductSizeDto> >(sizes); _cacheManager.Store(CachingConstant.ProductSizes, productSizeDto, CachingConstant.MemoryCacheTime); }
public ProductSizeQueryResponse GetProductSizes(ProductSizeQueryRequest request) { var response = new ProductSizeQueryResponse(); try { var productSizeDto = _cacheManager.Retrieve <IList <ProductSizeDto> >(CachingConstant.ProductSizes); if (productSizeDto != null) { response.Sizes = string.IsNullOrWhiteSpace(request.Keyword) ? productSizeDto.ToList() : productSizeDto.Where(s => s.Name.Contains(request.Keyword)).ToList(); } var sizes = _productRepository.GetProductSizes(request.Keyword, request.Category); productSizeDto = Mapper.Map <IList <ProductSize>, IList <ProductSizeDto> >(sizes); response.Sizes = productSizeDto; StoreAllProductSizeInCache(request); } catch (Exception exception) { response.Failed = true; _logger.Log(exception.Message); } return(response); }