Beispiel #1
0
        public async Task <ActionResult <List <FlightModelFull> > > GetFlightsFull(
            [FromQuery] FlightsResourceParameters flightsResourceParameters)
        {
            var flightsFromRepo = await _repository.GetFligtsForUser(_userInfoService.UserId, flightsResourceParameters);

            return(Ok(_mapper.Map <List <FlightModelFull> >(flightsFromRepo)));
        }
        public async Task <PagedList <Flight> > GetFligtsForUser(string userId, FlightsResourceParameters flightsResourceParameters)
        {
            IQueryable <Flight> query = _context.UserFlight.Where(uf => uf.TUserId == userId).Select(f => f.Flight);

            query = query
                    .Include(r => r.Trip)
                    .Include(b => b.ArrivalAirport)
                    .Include(c => c.DepartureAirport)
                    .Include(a => a.Aircraft)
                    .ThenInclude(a => a.AircraftModel)
                    .ThenInclude(a => a.AircraftFactory)
                    .ThenInclude(a => a.AircraftFactoryCountry)
                    .Include(ar => ar.Airline)
                    .ThenInclude(ar => ar.AirLineAlliance)
                    .Include(ab => ab.Airline)
                    .ThenInclude(ab => ab.AirlineCountry);

            return(PagedList <Flight> .Create(query, flightsResourceParameters.PageNumber, flightsResourceParameters.PageSize));
        }