Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
            }
        }