public ActionResult Index(RentalsFilter filters) { var rentals = FilterRentals(filters); // .SetSortOrder(SortBy<Rental>.Ascending(r=>r.Price)); var model = new RentalsList { Rentals = rentals, Filters = filters }; return View(model); }
private IEnumerable<Rental> FilterRentals(RentalsFilter filters) { IQueryable<Rental> rentals = context.Rentals.AsQueryable() .OrderBy(r => r.Price); if (filters.MinimumRooms.HasValue) { rentals = rentals .Where(r => r.NumberOfRooms >= filters.MinimumRooms); } if (filters.PriceLimit.HasValue) { var query = Query<Rental>.LTE(r=>r.Price,filters.PriceLimit); rentals = rentals .Where(r => query.Inject()); } return rentals; }