public ActionResult ViewAllProducts(string sort) { var model = new ViewModels.ProductFromCategoryViewModel(); using (var db = new Models.ModelDB()) { model.ProductList.AddRange(db.Products.Select(x => new ViewModels.ProductFromCategoryViewModel.ProductListViewModel { Id = x.Id, Name = x.Name, Price = x.Price, Description = x.Description, Category_Id = x.Category_id })); } SortProducts(sort, model); return(View(model)); }
// GET: Product public ActionResult Index(int id) { var model = new ViewModels.ProductFromCategoryViewModel(); using (var db = new Models.ModelDB()) { model.CategoryId = id; model.ProductList.AddRange(db.Products.Select(x => new ViewModels.ProductFromCategoryViewModel.ProductListViewModel { Id = x.Id, Name = x.Name, Price = x.Price, Description = x.Description, Category_Id = x.Category_id }).Where(x => x.Category_Id == id)); return(View(model)); } }
public ActionResult Search(string search, string sort) { using (var db = new Models.ModelDB()) { var model = new ViewModels.ProductFromCategoryViewModel { Search = search }; model.ProductList.AddRange(db.Products.ToList().Select(r => new ViewModels.ProductFromCategoryViewModel.ProductListViewModel { Id = r.Id, Name = r.Name, Price = r.Price, Description = r.Description, Category_Id = r.Category_id }).Where(c => c.Name.ToLower().Contains(model.Search.ToLower()) || c.Description.ToLower().Contains(model.Search.ToLower())) ); SortProducts(sort, model); return(View(model)); } }
public void SortProducts(string sort, ViewModels.ProductFromCategoryViewModel model) { model.SortName = String.IsNullOrEmpty(sort) ? "namedes" : ""; model.SortPrice = sort == "price" ? "pricedes" : "price"; switch (sort) { case "namedes": model.ProductList = model.ProductList.OrderByDescending(s => s.Name).ToList(); break; case "price": model.ProductList = model.ProductList.OrderBy(s => s.Price).ToList(); break; case "pricedes": model.ProductList = model.ProductList.OrderByDescending(s => s.Price).ToList(); break; default: model.ProductList = model.ProductList.OrderBy(s => s.Name).ToList(); break; } }