public async Task <FlightRecordIndexModel> GetRecord(int pageIndex, int itemsPage, int?airplaneId, int?pilotId)
        {
            _logger.LogInformation("GetFlightRecord called");
            FlighWithSpecification flightPagingSpec = new FlighWithSpecification(itemsPage * pageIndex, itemsPage, airplaneId, pilotId);
            FlighWithSpecification flightSpec       = new FlighWithSpecification(airplaneId, pilotId);

            var flightOnPage = await _fligthRepository.ListAsync(flightPagingSpec);

            var totalFlight = await _fligthRepository.CountAsync(flightSpec);

            var vm = new FlightRecordIndexModel()
            {
                FlightRecords = flightOnPage.Select(i => new ClubFlightModel(i.Pilot, i.Aircraft)
                {
                    Id          = i.Id,
                    Date        = i.Date,
                    EngineStart = i.EngineStart,
                    EngineEnd   = i.EngineEnd,
                    HobbsStart  = i.HobbsStart,
                    HobbsEnd    = i.HobbsEnd,
                    Routh       = i.Routh
                }) as List <ClubFlightModel>,
                FilterModel = new FilterModel()
                {
                    AirplaneSelects       = await GetAirplans(1),
                    ClubSelects           = await GetClubs(1),
                    PilotSelects          = await GetPilots(1),
                    PilotFilterApplied    = pilotId,
                    ClubFilterApplied     = 1,
                    AirplaneFilterApplied = airplaneId,
                },
                PaginationInfo = new PaginationInfoModel()
                {
                    ActualPage   = pageIndex,
                    ItemsPerPage = flightOnPage.Count,
                    TotalItems   = totalFlight,
                    TotalPages   = int.Parse(Math.Ceiling((decimal)totalFlight / itemsPage).ToString())
                }
            };

            vm.PaginationInfo.Next     = (vm.PaginationInfo.ActualPage >= vm.PaginationInfo.TotalPages - 1) ? "disabled" : "";
            vm.PaginationInfo.Previous = (vm.PaginationInfo.ActualPage == 0) ? "disabled" : "";
            return(vm);
        }
Esempio n. 2
0
        public async Task RepositoryClubAircrafFlightTest()
        {
            ImportDataTest import = new ImportDataTest();

            import.InitContext();
            try
            {
                _context = import._context;
                cr       = new ClubRepository(_context);
                AircraftLogBookRepository acr             = new AircraftLogBookRepository(_context);
                FlightRepository          fr              = new FlightRepository(_context);
                MemberRepository          mr              = new MemberRepository(_context);
                ClubRepository            _clubRepository = new ClubRepository(_context);
                AircraftRepository        ar              = new AircraftRepository(_context);
                ClubService clubService = new ClubService(cr, mr, fr, ar, acr, null);
                int         aircraftId  = 8;
                var         clubSpec    = new ClubWithSpecification("BAZ", false, true);

                var club = (await _clubRepository.ListAsync(clubSpec));
                FlighWithSpecification flightPagingSpec = new FlighWithSpecification(0, 10, 8, 14);
                FlighWithSpecification flightSpec       = new FlighWithSpecification(8, 14);

                var flight = await fr.ListAsync(flightPagingSpec);

                var flightCount = await fr.CountAsync(flightSpec);

                ICollection <Flight> flights = await clubService.GetClubAircraftFlight("BAZ", aircraftId);

                var group = flights.GroupBy(o => o.Pilot);
                foreach (var g in group)
                {
                    System.Diagnostics.Debug.WriteLine(g.FirstOrDefault()?.Pilot?.FirstName);
                    foreach (var gi in g)
                    {
                        System.Diagnostics.Debug.WriteLine(gi.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message);
            }
        }