Пример #1
0
        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;
        }
Пример #2
0
        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);
        }