public async Task <FlightRecordIndexModel> Handle(GetFilteredFlightsQuery request, CancellationToken cancellationToken)
            {
                InvoiceToFlightComaprer comparer = new InvoiceToFlightComaprer();

                //int ActualPage = request.PaginationInfoViewModel.ActualPage;
                //switch (request.PaginationInfoViewModel.PageCommand)
                //{
                //	case PageCommand.MoveNext:
                //		ActualPage = request.PaginationInfoViewModel.ActualPage + 1;
                //		break;
                //	case PageCommand.MovePrevious:
                //		ActualPage = request.PaginationInfoViewModel.ActualPage - 1;
                //		break;
                //}
                DateTime   fromDate    = request.flightRecordIndexView.FilterModel.FilterDateViewModel.FilterDateFrom;
                DateTime   toDate      = request.flightRecordIndexView.FilterModel.FilterDateViewModel.FilterDateTo;
                var        clubId      = request.flightRecordIndexView.FilterModel.ClubFilterApplied ?? 0;
                var        aircraftId  = request.flightRecordIndexView.FilterModel.AirplaneFilterApplied ?? 0;
                var        pilotId     = request.flightRecordIndexView.FilterModel.PilotFilterApplied ?? 0;
                List <int> aircraftIds = aircraftId == 0 ? _context.Set <Aircraft>().Select(i => i.Id).ToList() : new List <int>()
                {
                    aircraftId
                };
                List <int> pilotIds = pilotId == 0 ? _context.Set <Member>().Select(i => i.Id).ToList() : new List <int>()
                {
                    pilotId
                };
                var aircraftLogBook = from lb in _context.Set <AircraftLogBook>()
                                      join ac in _context.Set <Aircraft>() on lb.TaiNumber equals ac.TailNumber
                                      where aircraftIds.Contains(ac.Id)
                                      select lb;

                var club     = _context.Set <Club>().Find(clubId);
                var flights1 = _context.Set <Flight>().ToList();
                var flights  = (_context.Set <Club>().Where(c => c.Id == clubId)).Select(a => a.Aircrafts).ToList();
                //var filteredFlight = (from fl in _context.Set<Flight>()
                //		 join ar in _context.Set<Aircraft>() on fl.Aircraft.Id equals ar.Id
                //		 where fl.Pilot.Id == pilotId && fl.Date >= fromDate && fl.Date <= toDate
                //		 select fl).ToList();

                //var filteredFlight = (from fl in _context.Set<Flight>().Include(x => x.Aircraft)

                //					  where ( fl.Date.Date >= fromDate.Date && fl.Date.Date <= toDate.Date  && aircraftIds.Contains(fl.Aircraft.Id) && pilotIds.Contains(fl.Pilot.Id))
                //					  select fl).ToList();
                var filteredFlight = _context.Set <Flight>().Include(x => x.Aircraft).Where(fl => fl.Date.Date >= fromDate.Date && fl.Date.Date <= toDate.Date && aircraftIds.Contains(fl.Aircraft.Id) && pilotIds.Contains(fl.Pilot.Id)).Select(fl => fl).ToList();
                int totalFlight    = filteredFlight.Count();

                request.flightRecordIndexView.PaginationInfo.TotalItems = filteredFlight.Count();
                request.flightRecordIndexView.PaginationInfo.ActualPage = 1;

                request.flightRecordIndexView.PaginationInfo.TotalItems = totalFlight;
                request.flightRecordIndexView.PaginationInfo.TotalPages = int.Parse(Math.Ceiling((decimal)totalFlight / request.flightRecordIndexView.PaginationInfo.ItemsPerPage).ToString());
                request.flightRecordIndexView.PaginationInfo.Next       = request.flightRecordIndexView.PaginationInfo.ActualPage >= request.flightRecordIndexView.PaginationInfo.TotalPages  ? "disabled" : "";
                request.flightRecordIndexView.PaginationInfo.Previous   = request.flightRecordIndexView.PaginationInfo.ActualPage == 1 ? "disabled" : "";
                request.flightRecordIndexView.FlightRecords             = _mapper.Map <List <Flight>, List <ClubFlightModel> >(filteredFlight);
                return(request.flightRecordIndexView);
            }
            public async Task <FlightRecordIndexModel> Handle(GetAllFlightsQuery request, CancellationToken cancellationToken)
            {
                InvoiceToFlightComaprer comparer = new InvoiceToFlightComaprer();
                FlightRecordIndexModel  flightRecordIndexViewModel = new FlightRecordIndexModel();


                var flights = _context.Set <Flight>().ToList();

                ClubFlightModel clubFlightViewModel = new ClubFlightModel();

                flightRecordIndexViewModel.FlightRecords = _mapper.Map <List <Flight>, List <ClubFlightModel> >(flights);

                int totalFlight = flights.Count();

                flightRecordIndexViewModel.PaginationInfo.TotalItems = totalFlight;
                flightRecordIndexViewModel.PaginationInfo.ActualPage = 1;

                flightRecordIndexViewModel.PaginationInfo.TotalItems = totalFlight;
                flightRecordIndexViewModel.PaginationInfo.TotalPages = int.Parse(Math.Ceiling((decimal)totalFlight / flightRecordIndexViewModel.PaginationInfo.ItemsPerPage).ToString());
                flightRecordIndexViewModel.PaginationInfo.Next       = flightRecordIndexViewModel.PaginationInfo.ActualPage >= flightRecordIndexViewModel.PaginationInfo.TotalPages ? "disabled" : "";
                flightRecordIndexViewModel.PaginationInfo.Previous   = flightRecordIndexViewModel.PaginationInfo.ActualPage == 1 ? "disabled" : "";

                return(flightRecordIndexViewModel);
            }