Esempio n. 1
0
 /// <summary>
 /// Filter Rentals
 /// USING MongoDB.Driver.Linq
 /// </summary>
 /// <param name="filter"></param>
 /// <returns></returns>
 private async Task<IEnumerable<Rental>> FilterRentals(RentalFilter filter)
 {            
     var collection = Context.Rentals.AsQueryable();
     IMongoQueryable<Rental> query = collection;
     if (filter.PriceLimit != null)
         query = collection.Where(d => d.Price <= filter.PriceLimit);
     if (filter.SortBy == RentalFilter.SortOptions.Price)
         query = query.OrderBy(d => d.Price);
     else
         query = query.OrderBy(d => d.Address);
     return await query.ToListAsync();
 }
Esempio n. 2
0
        // GET: Rentals
        public async Task<ActionResult> Index(RentalFilter filter)
        {
            IEnumerable<Rental> rentals = null;
            if (filter == null)
            {
                var bsonFilter = new BsonDocument();
                //Simple test for CoreControl
                //var generic = await Context.GenericData_Alerts.FindAsync<Models.GenericData_Alerts>(filter).ToListAsync();
                rentals = await Context.Rentals.FindAsync<Rental>(bsonFilter).ToListAsync();
            }
            else
                rentals = await FilterRentals(filter);

            var model = new RentalsList
            {
                RentalFilter = filter,
                Rentals = rentals
            };
            return View(model);
        }