public IActionResult WomensWatches(FilteredWatchViewModel filteredViewModel, int pageNum = 1) { var filter = _mapper.Map <Filter>(filteredViewModel.Filter); var pagedResultWithDto = _catalogService.ReadWomen(filter, pageNum, filteredViewModel.ItemsOnPage); var pagedResultWithViewModels = _mapper.Map <PagedResult <WatchViewModel> >(pagedResultWithDto); filteredViewModel.PageResult = pagedResultWithViewModels; filteredViewModel.ItemsOnPageSelectList = new SelectList(new[] { 12, 24, 36 }, filteredViewModel.ItemsOnPage); return(View(nameof(Index), filteredViewModel)); }
public IActionResult Index(FilteredWatchViewModel filteredVM, int pageNum = 1) { if (filteredVM.PriceRange is null) { var priceRangeDTO = _catalogService.GetWatchesPriceRange(); filteredVM.PriceRange = _mapper.Map <PriceRangeViewModel>(priceRangeDTO); } else { _catalogService.ChangePriceRange(filteredVM.PriceRange.StartPrice, filteredVM.PriceRange.EndPrice); } var pagedResult = (filteredVM.Filter switch { Filter.OrderByPriceAsc => _catalogService.ReadOrderedByPriceAsc(), Filter.OrderByPriceDesc => _catalogService.ReadOrderedByPriceDesc(), Filter.SortByNoveltyAsc => _catalogService.ReadOrderedByNoveltyAsc(), Filter.SortByNoveltyDesc => _catalogService.ReadOrderedByNoveltyDesc(), Filter.SortByPopularityAsc => _catalogService.ReadOrderedByPopularityAsc(), Filter.SortByPopularityDesc => _catalogService.ReadOrderedByPopularityDesc(), _ => _catalogService.ReadAll() }).Select(_ => _mapper.Map <WatchViewModel>(_)).GetPaged(pageNum, filteredVM.ItemsOnPage);