Example #1
0
        //TODO: genericrepo voor MongoDB
        //*** GET -------------------------------------------------------------
        public async Task <IEnumerable <Review> > GetAll(ReviewFilter filter = null)
        {
            try
            {
                var result = new List <Review>();
                if (filter == null || filter.FlightId == null && filter.Subject == null && filter.DateOfCreation == null)
                {
                    //var result = await context.Reviews.Aggregate().Lookup<Review, Author, Review>(context.Authors, aut => aut.UserId, d => d.UserId, aut => aut.Author);
                    result = await context.Reviews.Find(FilterDefinition <Review> .Empty).ToListAsync <Review>();
                }
                else
                {
                    result = await context.Reviews.Find(filter.ToFilterDefinition())
                             .SortBy(d => d.DateOfCreation).ThenBy(d => d.Subject)
                             .ToListAsync <Review>();
                }

                foreach (Review review in result)
                {
                    review.Flight = context.Flights.AsQueryable().Where(fl => fl.FlightId == review.FlightId).FirstOrDefault();
                    review.Author = context.Authors.AsQueryable().Where(aut => aut.UserId == review.UserId).FirstOrDefault();
                }

                return(result);
            }
            catch (Exception exception)
            {
                throw exception;
            }
        }
Example #2
0
        //** GET ---------------------------
        public async Task <IEnumerable <Review> > GetAll(ReviewFilter filter = null)
        {
            try
            {
                if (filter == null || filter.RestaurantId == null && filter.Subject == null &&
                    filter.DateOfCreation == null)
                {
                    var result = await context.Reviews.Find(FilterDefinition <Review> .Empty).ToListAsync <Review>();

                    return(result);
                }
                else
                {
                    return(await context.Reviews.Find(filter.ToFilterDefinition())
                           .SortBy(d => d.DateOfCreation).ThenBy(d => d.Subject)
                           .ToListAsync <Review>());
                }
            }
            catch (Exception exception)
            {
                throw exception;
            }
        }