public IEnumerable <TyreViewModel> GetSearchTyreInfo(SearchTyreBindingModel model, int?page) { var tyres = this.GetAllTyres(); if (model.Brands != null) { tyres = tyres.Where(p => p.Brand == model.Brands); } if (model.Seasons != null) { tyres = tyres.Where(p => p.Season.ToString() == model.Seasons); } if (model.Sizes != 0) { tyres = tyres.Where(p => p.Size == model.Sizes); } if (model.Widths != 0) { tyres = tyres.Where(p => p.Width == model.Widths); } if (model.Height != 0) { tyres = tyres.Where(p => p.Height == model.Height); } var tyresVm = Mapper.Map <IEnumerable <TyreViewModel> >(tyres); return(tyresVm); }
public ActionResult SearchTyre(SearchTyreBindingModel model, string sortOrder, int?page) { ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : ""; ViewBag.BrandSortParam = sortOrder == "Brand" ? "brand_desc" : "Brand"; var result = this.service.GetSearchTyreInfo(model, page); switch (sortOrder) { case "name_desc": result = result.OrderByDescending(s => s.Price); break; case "Brand": result = result.OrderBy(s => s.Brand); break; case "brand_desc": result = result.OrderByDescending(s => s.Brand); break; } int pageSize = 10; int pageNumber = (page ?? 1); return(View(result.ToPagedList(pageNumber, pageSize))); }