public AllCarsListModel All(string sort, string searchQuery, int pageSize, int page = 1) { var model = new AllCarsListModel(); model = SearchCars(searchQuery, pageSize, page); switch (sort) { case "Manufacturer": model.Cars = model .Cars .OrderBy(c => c.Manufacturer); break; case "Condition": model.Cars = model .Cars .OrderBy(c => c.Condition); break; case "Year": model.Cars = model .Cars .OrderBy(c => c.YearOfProduction); break; case "Price Asc": model.Cars = model .Cars .OrderBy(c => c.Price); break; case "Price Desc": model.Cars = model .Cars .OrderByDescending(c => c.Price); break; default: break; } return(model); }
public AllCarsListModel SearchCars(string searchQuery, int pageSize, int page) { if (!string.IsNullOrEmpty(searchQuery)) { var model = new AllCarsListModel(); model.Cars = this._db.Cars.Where(c => c.Manufacturer.Contains(searchQuery) || c.Model.Contains(searchQuery) || c.SaleDescription.Contains(searchQuery)) .Skip((page - 1) * pageSize) .Take(pageSize) .Include("Images") .ToList(); model.Count = this._db.Cars.Where(c => c.Manufacturer.Contains(searchQuery) || c.Model.Contains(searchQuery) || c.SaleDescription.Contains(searchQuery)) .Count(); return(model); } else { var model = new AllCarsListModel(); model.Cars = this._db.Cars .Skip((page - 1) * pageSize) .Take(pageSize) .Include("Images") .ToList(); model.Count = this._db.Cars.Count(); return(model); } }