//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));
        }
Ejemplo n.º 2
0
        public IActionResult GetAll()
        {
            var products = _mapper.Map <List <ShowProductViewModel> >(_productService.GetAllProducts());

            var viewModel = new ShowProductsViewModel
            {
                Products = products,
            };

            return(View(viewModel));
        }
Ejemplo n.º 3
0
 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));
        }