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)); }
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)); }