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); }
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); } }