//TODO: Add annotation if there is no products for given tag or category //TODO: Change look of hamburger icon and menu items in dropdown list public ActionResult GetProducts(Categories category = Categories.All, int page = 1) { var products = category == Categories.All ? _unitOfWork.Products.GetProducts(page).ToList() : _unitOfWork.Products.GetProductsFromCategory((int)category, page).ToList(); var viewModel = new ShowProductsViewModel { Products = products, Title = "~ Grygier ~", CurrentPage = page, TotalPages = (int)Math.Ceiling(_unitOfWork.Products.Count() / 9m), Category = category, Action = "GetProducts" }; if (category != Categories.All) { viewModel.Title = _unitOfWork.Categories.GetCategoryName((int)category); viewModel.TotalPages = (int)Math.Ceiling(_unitOfWork.Products.Count((int)category) / 9m); } //if (Request.Headers["X-Requested-With"] == "XMLHttpRequest") // return PartialView("ShowProducts", viewModel); if (Request.IsAjaxRequest()) { return(PartialView("ShowProducts", viewModel)); } return(View("ShowProducts", viewModel)); }
public IActionResult GetAll() { var products = _mapper.Map <List <ShowProductViewModel> >(_productService.GetAllProducts()); var viewModel = new ShowProductsViewModel { Products = products, }; return(View(viewModel)); }
public ViewResult ShowProducts( [Bind(Exclude = "Products")] ShowProductsViewModel vm) { /* * //IEnumerable<Product> products = null; * if (!string.IsNullOrEmpty(vm.FilterText)) * { * vm.Products = * dataFetcher * .GetAllRecords() * .Where(p => * p.ProductName.Contains(vm.FilterText)); * } */ return(this.View(vm)); }
public ActionResult GetProductsByTag(string tagName, int page = 1) { var tag = _unitOfWork.Tags.GetTag(tagName); var products = _unitOfWork.Products.GetProductsWithTag(tagName, page); var viewModel = new ShowProductsViewModel { Products = products, Title = $"Tag - {tag.Name}", CurrentPage = page, TotalPages = (int)Math.Ceiling(_unitOfWork.Products.Count(tagName) / 9m), TagName = tagName, Action = "GetProductsByTag" }; if (Request.Headers["X-Requested-With"] == "XMLHttpRequest") { return(PartialView("ShowProducts", viewModel)); } return(View("ShowProducts", viewModel)); }