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));
        }
示例#2
0
        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);