public ShowAllProductsViewModel Sort(string sortOrder, ShowAllProductsViewModel model) { model.SortByNameParam = string.IsNullOrEmpty(sortOrder) ? "name_desc" : ""; model.SortByPriceParam = sortOrder == "Price" ? "price_desc" : "Price"; switch (sortOrder) { case "name_desc": model.ProductsList = model.ProductsList.OrderByDescending(x => x.Name).ToList(); break; case "Price": model.ProductsList = model.ProductsList.OrderBy(x => x.Price).ToList(); break; case "price_desc": model.ProductsList = model.ProductsList.OrderByDescending(x => x.Price).ToList(); break; default: model.ProductsList = model.ProductsList.OrderBy(x => x.Name).ToList(); break; } return(model); }
public ActionResult SearchResult(string sortOrder, string searchProduct) { var viewmodel = new ShowAllProductsViewModel(); viewmodel.Search = searchProduct; using (var db = new BeerModel()) { viewmodel.ProductsList.AddRange(db.Products.Where(x => x.Description.ToUpper().Contains(searchProduct.ToUpper()) || x.Name.ToUpper().Contains(searchProduct.ToUpper()))); viewmodel = Sort(sortOrder, viewmodel); return(View(viewmodel)); } }