//public ActionResult Search2(string sortOrder)
        //{
        //    var prod = from p in db.Products
        //               select p;
        //}

        public void SortProducts(string sortOrder, ViewModels.ProductIndexViewModel model)
        {
            ViewBag.SortName  = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
            ViewBag.SortPrice = sortOrder == "Price" ? "price_desc" : "price";
            var prods = from p in db.Products
                        select p;

            switch (sortOrder)
            {
            case "name_desc":
                model.ProductList = model.ProductList.OrderByDescending(s => s.Name).ToList();
                break;

            case "Price":
                model.ProductList = model.ProductList.OrderBy(s => s.Price).ToList();
                break;

            case "price_desc":
                model.ProductList = model.ProductList.OrderByDescending(s => s.Price).ToList();
                break;

            default:
                model.ProductList = model.ProductList.OrderBy(s => s.Name).ToList();
                break;
            }
        }
Exemple #2
0
        public ActionResult Category(int id, string sort)
        {
            var model = new ViewModels.ProductIndexViewModel();
            var db    = new Models.DBModel();

            model.Products.AddRange(db.Products.Where(p => p.categoryId == id).Select(r => new ViewModels.ProductIndexViewModel.ProductListViewModel
            {
                id          = r.id,
                name        = r.name,
                description = r.description,
                price       = r.price
            }));

            if (sort == "NameAsc")
            {
                model.Products = model.Products.OrderBy(r => r.name).ToList();
            }
            else if (sort == "NameDesc")
            {
                model.Products = model.Products.OrderByDescending(r => r.name).ToList();
            }

            if (sort == "PriceAsc")
            {
                model.Products = model.Products.OrderBy(r => r.price).ToList();
            }
            else if (sort == "PriceDesc")
            {
                model.Products = model.Products.OrderByDescending(r => r.price).ToList();
            }

            model.CurrentSort = sort ?? "NameAsc";

            return(View(model));
        }
        // GET: Product
        public ActionResult Index(string sort, int Id)
        {
            var model = new ViewModels.ProductIndexViewModel();

            using (var db = new EcommerceModel())
            {
                model.ProductList.AddRange(db.Products.Select(p => new ViewModels.ProductIndexViewModel.ProductListViewModel
                {
                    ProductId   = p.ProductId,
                    Name        = p.Name,
                    Description = p.Description,
                    Price       = p.Price,
                    CategoryId  = p.CategoryId
                }).Where(p => p.CategoryId == Id));
            }

            if (sort == "NamnAsc")
            {
                model.ProductList = model.ProductList.OrderBy(r => r.Name).ToList();
            }
            else if (sort == "NamnDesc")
            {
                model.ProductList = model.ProductList.OrderByDescending(r => r.Name).ToList();
            }

            model.CurrentSort = sort;
            return(View(model));
        }
Exemple #4
0
        public ProductIndexViewModel SortProducts(string sortOrder, ViewModels.ProductIndexViewModel model)

        {
            if (string.IsNullOrEmpty(sortOrder))
            {
                sortOrder = "nameAsc";
            }
            model.SortName = sortOrder == "nameDesc" ? "nameAsc" : "nameDesc";

            model.SortPrice = sortOrder == "priceDesc" ? "priceAsc" : "priceDesc";

            switch (sortOrder)
            {
            case "nameAsc":
                model.ProductList = model.ProductList.OrderBy(x => x.Name).ToList();
                break;

            case "nameDesc":
                model.ProductList = model.ProductList.OrderByDescending(x => x.Name).ToList();
                break;

            case "priceAsc":
                model.ProductList = model.ProductList.OrderBy(p => p.Price).ToList();
                break;

            case "priceDesc":
                model.ProductList = model.ProductList.OrderByDescending(p => p.Price).ToList();
                break;
            }

            return(model);
        }
Exemple #5
0
        // GET: /<controller>/
        public IActionResult Index()
        {
            var viewModel          = new ViewModels.ProductIndexViewModel();
            ProductRepository repo = new ProductRepository();

            viewModel.Products = repo.GetAllProducts();

            return(View(viewModel));
        }
        public ActionResult Index(int?page)
        {
            if (page == null)
            {
                page = 1;
            }
            var model = new ViewModels.ProductIndexViewModel();

            model.PageNum = (int)page;
            model.Name    = "Home Page";
            return(View(model));
        }
Exemple #7
0
        public ActionResult ProductIndex(string sort)
        {
            var model = new ViewModels.ProductIndexViewModel();

            using (var db = new Models.FazerDB())
            {
                model.Products.AddRange(db.Products.Select(p => new ViewModels.ProductIndexViewModel.ProductListViewModel
                {
                    Name        = p.Name,
                    ProductId   = p.ProductId,
                    Description = p.Description,
                    CategoryId  = p.CategoryId,
                    Price       = p.Price
                }));
            }
            SortProducts(sort, model);
            return(View(model));
        }
Exemple #8
0
        public ActionResult Search(string SearchProduct)
        {
            using (var db = new Models.CategoryDb())
            {
                var model = new ViewModels.ProductIndexViewModel
                {
                    SearchProduct = SearchProduct
                };
                model.Products.AddRange(db.Products.ToList().Select(r => new ViewModels.ProductIndexViewModel.ProductListViewModel
                {
                    ProductId   = r.ProductId,
                    Name        = r.Name,
                    Price       = r.Price,
                    Description = r.Description,
                }).ToList().Where(c => c.Name.ToLower().Contains(model.SearchProduct.ToLower()) || c.Description.ToLower().Contains(model.SearchProduct.ToLower())
                                  ));

                return(View("Search", model));
            }
        }
Exemple #9
0
        public ActionResult CategoryView(int id, string sort)
        {
            var model = new ViewModels.ProductIndexViewModel();

            using (var db = new Models.CategoryDb())
            {
                model.Products.AddRange(db.Products.Select(p => new ViewModels.ProductIndexViewModel.ProductListViewModel
                {
                    Name        = p.Name,
                    ProductId   = p.ProductId,
                    Description = p.Description,
                    CategoryId  = p.Category.CategoryId,
                    Price       = p.Price
                }).Where(p => p.CategoryId == id));

                if (sort == "NamnAsc")
                {
                    model.Products = model.Products.OrderBy(r => r.Name).ToList();
                }
                else if (sort == "NamnDesc")
                {
                    model.Products = model.Products.OrderByDescending(r => r.Name).ToList();
                }


                if (sort == "PriceAsc")
                {
                    model.Products = model.Products.OrderBy(r => r.Price).ToList();
                }
                else if (sort == "PriceDesc")
                {
                    model.Products = model.Products.OrderByDescending(r => r.Price).ToList();
                }


                model.CurrentSort = sort;

                return(View(model));
            }
        }
Exemple #10
0
        public ActionResult SearchProduct(string searchProduct, string sort)
        {
            using (var db = new Models.FazerDB())
            {
                var model = new ViewModels.ProductIndexViewModel
                {
                    SearchProduct = searchProduct
                };
                model.Products.AddRange(db.Products.Select(p => new ViewModels.ProductIndexViewModel.ProductListViewModel
                {
                    Name        = p.Name,
                    Description = p.Description,
                    Price       = p.Price,
                    CategoryId  = p.CategoryId,
                    ProductId   = p.ProductId
                }).ToList().Where(c => c.Name.ToLower().Contains(model.SearchProduct.ToLower()) || c.Description.ToLower().Contains(model.SearchProduct.ToLower())
                                  ));

                SortProducts(sort, model);
                return(View("SearchProduct", model));
            }
        }
Exemple #11
0
        public void SortProducts(string sort, ViewModels.ProductIndexViewModel model)
        {
            model.SortName  = String.IsNullOrEmpty(sort) ? "namedes" : "";
            model.SortPrice = sort == "price" ? "pricedes" : "price";
            switch (sort)
            {
            case "namedes":
                model.Products = model.Products.OrderByDescending(s => s.Name).ToList();
                break;

            case "price":
                model.Products = model.Products.OrderBy(s => s.Price).ToList();
                break;

            case "pricedes":
                model.Products = model.Products.OrderByDescending(s => s.Price).ToList();
                break;

            default:
                model.Products = model.Products.OrderBy(s => s.Name).ToList();
                break;
            }
        }
Exemple #12
0
        public ActionResult CurrentSort(string sort)
        {
            var model = new ViewModels.ProductIndexViewModel();

            using (var db = new Models.CategoryDb())
            {
                model.Products.AddRange(db.Products.Select(r => new ViewModels.ProductIndexViewModel.ProductListViewModel
                {
                    ProductId = r.ProductId,
                    Name      = r.Name
                }));

                if (sort == "NamnAsc")
                {
                    model.Products = model.Products.OrderBy(r => r.Name).ToList();
                }
                else if (sort == "NamnDesc")
                {
                    model.Products = model.Products.OrderByDescending(r => r.Name).ToList();
                }


                if (sort == "PriceAsc")
                {
                    model.Products = model.Products.OrderBy(r => r.Price).ToList();
                }
                else if (sort == "PriceDesc")
                {
                    model.Products = model.Products.OrderByDescending(r => r.Price).ToList();
                }


                model.CurrentSort = sort;

                return(View(model));
            }
        }
Exemple #13
0
        public ActionResult Search(string query, string sort)
        {
            var model = new ViewModels.ProductIndexViewModel();
            var db    = new Models.DBModel();

            model.Products.AddRange(db.Products.Where(p => p.name.Contains(query) || p.description.Contains(query)).Select(r => new ViewModels.ProductIndexViewModel.ProductListViewModel
            {
                id          = r.id,
                name        = r.name,
                description = r.description,
                price       = r.price
            }));

            model.CurrentQuery = query;

            if (sort == "NameAsc")
            {
                model.Products = model.Products.OrderBy(r => r.name).ToList();
            }
            else if (sort == "NameDesc")
            {
                model.Products = model.Products.OrderByDescending(r => r.name).ToList();
            }

            if (sort == "PriceAsc")
            {
                model.Products = model.Products.OrderBy(r => r.price).ToList();
            }
            else if (sort == "PriceDesc")
            {
                model.Products = model.Products.OrderByDescending(r => r.price).ToList();
            }

            model.CurrentSort = sort ?? "NameAsc";

            return(View(model));
        }