public async Task <ProductTypeMiniAndFilters> GetProductTypeMinisAsync(FilterBase filters) { ProductTypeMiniAndFilters result = new ProductTypeMiniAndFilters() { Filters = filters, SortEnumArray = sortEnumArrayProducts }; string keyName = $"ProductTypeMinis{filters.GetFilterName()}", keyNameAllProductTypeMini = "ProductTypeMini"; List <ProductTypeMini> productTypeMinis = _cacheService.Get <List <ProductTypeMini> >(keyName); if (productTypeMinis == null) { productTypeMinis = _cacheService.Get <List <ProductTypeMini> >(keyNameAllProductTypeMini); if (productTypeMinis == null || productTypeMinis.Count == 0) { productTypeMinis = await _fcdStoreContext.GetProductTypeMinisAsync(); _cacheService.Set <List <ProductTypeMini> >(keyNameAllProductTypeMini, productTypeMinis); } result.ProductTypeMinis = productTypeMinis; _dataFiltering.Filtering(result); productTypeMinis = result.ProductTypeMinis; _cacheService.Set <List <ProductTypeMini> >(keyName, productTypeMinis); } result.ProductTypeMinis = productTypeMinis; _dataFiltering.SetFilters(result); result.ProductTypeMinis = _dataFiltering.Paginator <ProductTypeMini>(result.ProductTypeMinis, (int)filters.CountVisablePositions, (int)filters.CurrentPosition); return(result); }
//------------------------------ public async Task <IActionResult> ProductsTypesView(string sortType, int?currentPosition, string select) { FilterBase filters = new FilterBase(countVisablePozitins: 3, currentPosition: currentPosition, selectFromSelectList: select, sortType: sortType); ProductTypeMiniAndFilters result = await _dataProcessingConveyor.GetProductTypeMinisAsync(filters); return(View(result)); }