private IEnumerable<Rental.Rental> FilteRentals(RentalsFilter filter) { //private MongoCursor<Rental.Rental> FilteRentals(RentalsFilter filter) // /* if (!filter.PriceLimit.HasValue) { return Context.Rentals.FindAll(); } IMongoQuery query = Query<Rental.Rental>.LTE(r => r.Price,filter.PriceLimit); return Context.Rentals.Find(query);*/ IQueryable<Rental.Rental> rentals = Context.Rentals.AsQueryable().OrderBy(r => r.Price); if (filter.MinRoom.HasValue) { rentals = rentals.Where(r => r.NoOfRooms >= filter.MinRoom); } if (filter.PriceLimit.HasValue) { IMongoQuery query = Query<Rental.Rental>.LTE(r => r.Price, filter.PriceLimit); rentals = rentals.Where(r => query.Inject()); } return rentals; }
public ActionResult Index(RentalsFilter filter) { /* var rentals = FilteRentals(filter) .SetSortOrder(SortBy<Rental.Rental>.Ascending(r=>r.Price)); */ IEnumerable<Rental.Rental> rentals = FilteRentals(filter); var rentalList = new RentalList { Filters = filter, Rentals = rentals }; return View(rentalList); }