コード例 #1
0
        public async Task <IActionResult> Index(int?categoryId)
        {
            var currentBasketId = Request.Cookies.GetCurrentBasketId(_settings);

            if (!categoryId.HasValue && !string.IsNullOrEmpty(HttpContext.Session.GetString(SessionCategoryName)))
            {
                var result = int.MinValue;
                if (int.TryParse(HttpContext.Session.GetString(SessionCategoryName), out result))
                {
                    categoryId = result;
                }
            }

            var getTrucks     = (categoryId.HasValue) ? _catalogService.GetTrucksByCategoryId(categoryId.Value) : _catalogService.GetTrucks();
            var getBasket     = _basketService.GetBasket(currentBasketId);
            var getCategories = _catalogService.GetCategories();

            await Task.WhenAll(new Task[] { getTrucks, getCategories, getBasket });

            var numberOfItems = getBasket.Result?.Items.Count ?? 0;
            var tm            = new TruckListModel
            {
                Trucks           = getTrucks.Result,
                Categories       = getCategories.Result,
                NumberOfItems    = numberOfItems,
                SelectedCategory = categoryId.HasValue ? categoryId.Value : null
            };

            return(View(tm));
        }
コード例 #2
0
        public ActionResult Index(TruckListFiltersModel filters)
        {
            int pageTotal;

            var trucks = _truckService.GetAll("CreatedDate", "DESC", filters.Criteria, filters.Page, DefaultPageSize, out pageTotal);

            var pagedList = new StaticPagedList <TruckDto>(trucks, filters.Page, DefaultPageSize, pageTotal);

            var listModel = new TruckListModel(pagedList, filters);

            return(View(listModel));
        }