//returns the next entry after a specific entry private static RouteTimeTableEntry GetNextEntry(RouteTimeTableEntry entry, FleetAirliner airliner, Dictionary <Route, List <RouteTimeTableEntry> > entries, Dictionary <Route, List <RouteTimeTableEntry> > entriesToDelete) { DayOfWeek day = entry.Day; int counter = 0; while (counter < 7) { List <RouteTimeTableEntry> tEntries = airliner.Routes.SelectMany(r => r.TimeTable.Entries.FindAll(e => e.Airliner == airliner && e.Day == day)).ToList(); tEntries.AddRange(entries.Keys.SelectMany(r => entries[r].FindAll(e => e.Day == day))); tEntries.RemoveAll(e => entriesToDelete.Keys.SelectMany(r => entriesToDelete[r]).ToList().Find(te => te == e) == e); tEntries = (from e in tEntries orderby e.Time select e).ToList(); foreach (RouteTimeTableEntry dEntry in tEntries) { if (!((dEntry.Day == entry.Day && dEntry.Time <= entry.Time))) { return(dEntry); } } day++; if (day == (DayOfWeek)7) { day = (DayOfWeek)0; } counter++; } return(null); }
public PageFleetMaintenance(FleetAirliner airliner) { this.Airliner = airliner; InitializeComponent(); setValues(); }
private void cbAirliner_Checked(object sender, RoutedEventArgs e) { int maxNumberOfAirliners = this.AirlineFacility.ServiceLevel; FleetAirliner airliner = (FleetAirliner)((CheckBox)sender).Tag; if (this.AirlinersToMaintain.Count == 0 || (this.AirlinersToMaintain.Exists(a => a.Airliner.Type == airliner.Airliner.Type) && this.AirlinersToMaintain.Count + 1 <= maxNumberOfAirliners)) { this.AirlinersToMaintain.Add(airliner); AirlinerType type = this.AirlinersToMaintain[0].Airliner.Type; if (this.Classes == null || this.Classes.Count == 0) { AirlinerClass eClass = new AirlinerClass(AirlinerClass.ClassType.Economy_Class, ((AirlinerPassengerType)type).MaxSeatingCapacity); eClass.createBasicFacilities(null); this.Classes.Add(eClass); showClasses(); } btnEquipped.IsEnabled = true; btnApply.IsEnabled = true; } else { if (this.AirlinersToMaintain.Count == maxNumberOfAirliners) { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2901"), string.Format(Translator.GetInstance().GetString("MessageBox", "2901", "message"), maxNumberOfAirliners), WPFMessageBoxButtons.Ok); } ((CheckBox)sender).IsChecked = false; } }
public PageFleetAirliner(FleetAirliner airliner) { this.Airliner = new FleetAirlinerMVVM(airliner); this.Loaded += PageFleetAirliner_Loaded; InitializeComponent(); }
//adds a fleet airliner to the airlines fleet public void addAirliner(FleetAirliner airliner) { lock (this.Fleet) { this.Fleet.Add(airliner); } }
public PageAirlinerAdvancedRoute(FleetAirliner airliner, PopUpAirlinerAutoRoutes parent, OnRouteChanged routeChanged) { this.ParentPage = parent; this.Airliner = airliner; this.RouteChanged += routeChanged; InitializeComponent(); StackPanel panelMain = new StackPanel(); panelMain.Children.Add(createNewEntryPanel()); WrapPanel panelFlightTime = new WrapPanel(); txtStopovers = UICreator.CreateTextBlock(""); txtStopovers.Visibility = System.Windows.Visibility.Collapsed; txtStopovers.Margin = new Thickness(0, 0, 10, 0); panelFlightTime.Children.Add(txtStopovers); txtFlightTime = UICreator.CreateTextBlock("Flight time:"); panelFlightTime.Children.Add(txtFlightTime); panelMain.Children.Add(panelFlightTime); this.Content = panelMain; cbOrigin.SelectedIndex = 0; }
private void btnTransfer_Click(object sender, RoutedEventArgs e) { FleetAirliner airliner = (FleetAirliner)((Button)sender).Tag; ComboBox cbAirlines = new ComboBox(); cbAirlines.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbAirlines.SetResourceReference(ComboBox.ItemTemplateProperty, "AirlineLogoItem"); cbAirlines.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbAirlines.Items.Add(GameObject.GetInstance().MainAirline); foreach (Airline airline in GameObject.GetInstance().MainAirline.Subsidiaries) { cbAirlines.Items.Add(airline); } cbAirlines.Items.Remove(airliner.Airliner.Airline); cbAirlines.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageAirlineFleet", "1010"), cbAirlines) == PopUpSingleElement.ButtonSelected.OK && cbAirlines.SelectedItem != null) { Airline airline = (Airline)cbAirlines.SelectedItem; airliner.Airliner.Airline.removeAirliner(airliner); airliner.Airliner.Airline = airline; airline.addAirliner(airliner); _FleetDelivered.Remove(airliner); showFleet(); } }
//returns the next entry after a specific date and with a specific airliner public RouteTimeTableEntry getNextEntry(DateTime time, FleetAirliner airliner) { DateTime dt = new DateTime(time.Year, time.Month, time.Day, time.Hour, time.Minute, time.Second); int counter = 0; while (counter < 8) { List <RouteTimeTableEntry> entries = getEntries(dt.DayOfWeek).FindAll(e => airliner == e.Airliner); foreach (RouteTimeTableEntry dEntry in (from e in entries orderby e.Time select e)) { if (!(dEntry.Time <= dt.TimeOfDay && dt.Day == time.Day)) { return(dEntry); } } dt = dt.AddDays(1); counter++; } RouteTimeTableEntry entry = this.Entries.Find(e => e.Airliner == airliner); return(entry); }
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { FleetAirliner airliner = (FleetAirliner)value; if (parameter.ToString() == "start") { if (airliner.HasRoute && airliner.Status == FleetAirliner.AirlinerStatus.Stopped) { return(Visibility.Visible); } else { return(Visibility.Collapsed); } } if (parameter.ToString() == "stop") { if (airliner.HasRoute && airliner.Status != FleetAirliner.AirlinerStatus.Stopped) { return(Visibility.Visible); } else { return(Visibility.Collapsed); } } return(Visibility.Collapsed); }
private void btnTransfer_Click(object sender, RoutedEventArgs e) { ComboBox cbAirliners = new ComboBox(); cbAirliners.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbAirliners.SelectedValuePath = "Name"; cbAirliners.DisplayMemberPath = "Name"; cbAirliners.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbAirliners.Width = 200; foreach (FleetAirliner airliner in getTransferAirliners()) { cbAirliners.Items.Add(airliner); } cbAirliners.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PopUpAirlinerRoutes", "1001"), cbAirliners) == PopUpSingleElement.ButtonSelected.OK && cbAirliners.SelectedItem != null) { FleetAirliner transferAirliner = (FleetAirliner)cbAirliners.SelectedItem; foreach (Route route in transferAirliner.Routes) { foreach (RouteTimeTableEntry entry in route.TimeTable.Entries.FindAll(en => en.Airliner == transferAirliner)) { entry.Airliner = this.Airliner; } this.Airliner.addRoute(route); } transferAirliner.Routes.Clear(); showFlights(); } }
private static RouteTimeTableEntry GetNextEntry(RouteTimeTableEntry entry, FleetAirliner airliner, List <RouteTimeTableEntry> entries) { DayOfWeek day = entry.Day; int counter = 0; while (counter < 7) { List <RouteTimeTableEntry> tEntries = entries; tEntries = (from e in tEntries orderby e.Time select e).ToList(); foreach (RouteTimeTableEntry dEntry in tEntries) { if (!((dEntry.Day == entry.Day && dEntry.Time <= entry.Time))) { return(dEntry); } } day++; if (day == (DayOfWeek)7) { day = (DayOfWeek)0; } counter++; } return(null); }
public PopUpAirlinerRoutes(FleetAirliner airliner, Boolean isEditable) { this.Entries = new Dictionary <Route, List <RouteTimeTableEntry> >(); this.EntriesToDelete = new Dictionary <Route, List <RouteTimeTableEntry> >(); this.Airliner = airliner; this.IsEditable = isEditable; InitializeComponent(); this.Title = this.Airliner.Name; this.Width = 1200; this.Height = this.IsEditable ? 325 : 275; this.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen; ScrollViewer scroller = new ScrollViewer(); //scroller.Margin = new Thickness(10, 10, 10, 10); scroller.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; scroller.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto; scroller.MaxHeight = this.Height; StackPanel mainPanel = new StackPanel(); mainPanel.Margin = new Thickness(10, 10, 10, 10); scroller.Content = mainPanel; Grid grdFlights = UICreator.CreateGrid(2); grdFlights.ColumnDefinitions[1].Width = new GridLength(200); mainPanel.Children.Add(grdFlights); lbFlights = new ListBox(); lbFlights.ItemContainerStyleSelector = new ListBoxItemStyleSelector(); lbFlights.SetResourceReference(ListBox.ItemTemplateProperty, "QuickInfoItem"); lbFlights.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; Grid.SetColumn(lbFlights, 0); grdFlights.Children.Add(lbFlights); ScrollViewer panelRoutes = createRoutesPanel(); Grid.SetColumn(panelRoutes, 1); grdFlights.Children.Add(panelRoutes); if (this.IsEditable) { mainPanel.Children.Add(createNewEntryPanel()); mainPanel.Children.Add(createButtonsPanel()); } this.Content = scroller; showFlights(); }
public static object ShowPopUp(FleetAirliner airliner) { PopUpWindow window = new PopUpAutogenerateRoute(airliner); window.ShowDialog(); return(window.Selected); }
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { FleetAirliner airliner = (FleetAirliner)value; Boolean isTransferable = airliner.Airliner.Airline.IsHuman && airliner.Status == FleetAirliner.AirlinerStatus.Stopped && GameObject.GetInstance().MainAirline.Subsidiaries.Count > 0; return(isTransferable ? Visibility.Visible : Visibility.Collapsed); }
public static object ShowPopUp(FleetAirliner airliner) { PopUpWindow window = new PopUpHomeBase(airliner); window.ShowDialog(); return(window.Selected == null ? null : window.Selected); }
public static object ShowPopUp(FleetAirliner airliner) { PopUpWindow window = new PopUpEditAirlinerName(airliner); window.ShowDialog(); return(window.Selected); }
public static object ShowPopUp(FleetAirliner airliner, Boolean isEditable) { PopUpWindow window = new PopUpAirlinerRoutes(airliner, isEditable); window.ShowDialog(); return(window.Selected); }
public PageFleetInsurance(FleetAirliner airliner) { this.DataContext = airliner; this.Airliner = airliner; InitializeComponent(); this.DataContext = this.Airliner; }
public PageRoutePlanner(FleetAirliner airliner) { this.Airliner = airliner; this.Entries = new ObservableCollection <RouteTimeTableEntry>(); this.Entries.CollectionChanged += Entries_CollectionChanged; this.AllRoutes = new List <RoutePlannerItemMVVM>(); this.Intervals = new ObservableCollection <int>() { 1, 2, 3, 4, 5, 6 }; this.Routes = this.Airliner.Airliner.Airline.Routes.Where(r => r.getDistance() <= this.Airliner.Airliner.Type.Range).ToList(); this.AllRegions = new List <Region>(); this.AllRegions.Add(Regions.GetRegion("100")); var routeRegions = this.Routes.Select(r => r.Destination1.Profile.Country.Region).ToList(); routeRegions.AddRange(this.Routes.Select(r => r.Destination2.Profile.Country.Region)); foreach (Region region in routeRegions.Distinct()) { this.AllRegions.Add(region); } foreach (Route route in this.Airliner.Airliner.Airline.Routes.Where(r => r.getDistance() <= this.Airliner.Airliner.Type.Range)) { this.AllRoutes.Add(new RoutePlannerItemMVVM(route, this.Airliner.Airliner.Type)); } this.OutboundAirports = new List <Airport>(); var routeAirports = this.Routes.Select(r => r.Destination1).ToList(); routeAirports.AddRange(this.Routes.Select(r => r.Destination2)); foreach (Airport airport in routeAirports.Distinct()) { this.OutboundAirports.Add(airport); } this.StartTimes = new ObservableCollection <TimeSpan>(); for (int i = 0; i < 20; i++) { this.StartTimes.Add(new TimeSpan(6, i * 15, 0)); } this.StopoverMinutes = new List <int>() { 45, 60, 75, 90, 105, 120 }; this.Loaded += PageRoutePlanner_Loaded; InitializeComponent(); }
private void btnStopFlight_Click(object sender, RoutedEventArgs e) { FleetAirliner airliner = (FleetAirliner)((Button)sender).Tag; airliner.Status = FleetAirliner.AirlinerStatus.Stopped; showFleet(); showRoutes(); }
public InsuranceClaim(Airline airline, FleetAirliner airliner, Airport airport, DateTime date, int damage) { this.Damage = damage; this.Airline = airline; this.Airliner = airliner; this.Airport = airport; this.Date = date; this.Index = GameObject.GetInstance().GameTime.ToString() + airline.ToString() + damage.ToString(); this.SettlementDate = MathHelpers.GetRandomDate(GameObject.GetInstance().GameTime.AddMonths(2), GameObject.GetInstance().GameTime.AddMonths(24)); }
//adds entries for a specific destination and time for each day of the week assigned to an airliner public void addDailyEntries(RouteEntryDestination destination, TimeSpan time, FleetAirliner airliner) { foreach (DayOfWeek day in Enum.GetValues(typeof(DayOfWeek))) { RouteTimeTableEntry entry = new RouteTimeTableEntry(this, day, time, destination); entry.Airliner = airliner; this.Entries.Add(entry); } }
//checks for an airliner should go to service private static void CheckForService(FleetAirliner airliner) { double serviceCheck = 500000000; double sinceLastService = airliner.Airliner.Flown - airliner.Airliner.LastServiceCheck; if (sinceLastService > serviceCheck) { SimulateService(airliner); } }
public static Boolean IsTimeTableValid(RouteTimeTable timeTable, FleetAirliner airliner, Dictionary <Route, List <RouteTimeTableEntry> > entries, Boolean withSlots = true) { foreach (RouteTimeTableEntry e in timeTable.Entries) { if (!IsRouteEntryValid(e, airliner, entries, new Dictionary <Route, List <RouteTimeTableEntry> >(), withSlots)) { return(false); } } return(true); }
//simulates the service of a flight private static void SimulateService(FleetAirliner airliner) { double servicePrice = 100000; airliner.Airliner.LastServiceCheck = airliner.Airliner.Flown; AirlineHelpers.AddAirlineInvoice(airliner.Airliner.Airline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Maintenances, -servicePrice); airliner.Statistics.addStatisticsValue(GameObject.GetInstance().GameTime.Year, StatisticsTypes.GetStatisticsType("Airliner_Income"), -servicePrice); airliner.GroundedToDate = GameObject.GetInstance().GameTime.AddDays(90); }
public FleetAirlinerMVVM(FleetAirliner airliner) { this.Airliner = airliner; this.Classes = new ObservableCollection <AirlinerClassMVVM>(); AirlinerClass tClass = this.Airliner.Airliner.Classes[0]; foreach (AirlinerClass aClass in this.Airliner.Airliner.Classes) { int maxCapacity; if (airliner.Airliner.Type.TypeAirliner == AirlinerType.TypeOfAirliner.Passenger) { maxCapacity = ((AirlinerPassengerType)airliner.Airliner.Type).MaxSeatingCapacity; } else { maxCapacity = tClass.RegularSeatingCapacity; } Boolean changeable = this.Airliner.Airliner.Classes.IndexOf(aClass) > 0; int maxSeats; if (this.Airliner.Airliner.Classes.Count == 3) { if (this.Airliner.Airliner.Classes.IndexOf(aClass) == 1) { maxSeats = maxCapacity - 1 - this.Airliner.Airliner.Classes[2].RegularSeatingCapacity; } else { maxSeats = maxCapacity - 1 - this.Airliner.Airliner.Classes[1].RegularSeatingCapacity; } } else { maxSeats = maxCapacity - 1; } AirlinerClassMVVM amClass = new AirlinerClassMVVM(aClass.Type, aClass.SeatingCapacity, aClass.RegularSeatingCapacity, maxSeats, changeable); this.Classes.Add(amClass); } this.AMaintenanceInterval = this.Airliner.AMaintenanceInterval; this.BMaintenanceInterval = this.Airliner.BMaintenanceInterval; this.CMaintenanceInterval = this.Airliner.CMaintenanceInterval; this.DMaintenanceInterval = this.Airliner.DMaintenanceInterval; this.SchedCMaintenance = this.Airliner.SchedCMaintenance; this.SchedDMaintenance = this.Airliner.SchedDMaintenance; }
public PageAirlineEditAirliners(List <FleetAirliner> airliners) { this.Airliners = airliners; this.Loaded += PageAirlineEditAirliners_Loaded; this.DataContext = this.Airliners; this.Classes = new ObservableCollection <AirlinerClassMVVM>(); this.Airliner = getMinimumAirliner(); foreach (AirlinerClass aClass in this.Airliner.Airliner.Classes) { int maxCapacity; if (this.Airliner.Airliner.Type.TypeAirliner == AirlinerType.TypeOfAirliner.Passenger) { maxCapacity = ((AirlinerPassengerType)this.Airliner.Airliner.Type).MaxSeatingCapacity; } else { maxCapacity = 100; } Boolean changeable = this.Airliner.Airliner.Classes.IndexOf(aClass) > 0; int maxSeats; if (this.Airliner.Airliner.Classes.Count == 3) { if (this.Airliner.Airliner.Classes.IndexOf(aClass) == 1) { maxSeats = maxCapacity - 1 - this.Airliner.Airliner.Classes[2].RegularSeatingCapacity; } else { maxSeats = maxCapacity - 1 - this.Airliner.Airliner.Classes[1].RegularSeatingCapacity; } } else { maxSeats = maxCapacity - 1; } AirlinerClassMVVM amClass = new AirlinerClassMVVM(aClass, aClass.SeatingCapacity, aClass.RegularSeatingCapacity, maxSeats, changeable); this.Classes.Add(amClass); } InitializeComponent(); }
//checks if an entry is in occupied slot public static Boolean IsRouteEntryInOccupied(RouteTimeTableEntry entry, FleetAirliner airliner) { var occupiedSlots1 = AirportHelpers.GetOccupiedSlotTimes(entry.DepartureAirport, airliner.Airliner.Airline); var occupiedSlots2 = AirportHelpers.GetOccupiedSlotTimes(entry.Destination.Airport, airliner.Airliner.Airline); TimeSpan gateTimeBefore = new TimeSpan(0, 15, 0); TimeSpan gateTimeAfter = new TimeSpan(0, 15, 0); TimeSpan entryTakeoffTime = new TimeSpan((int)entry.Day, entry.Time.Hours, entry.Time.Minutes, entry.Time.Seconds); TimeSpan entryLandingTime = entryTakeoffTime.Add(entry.TimeTable.Route.getFlightTime(entry.Airliner.Airliner.Type)); if (entryLandingTime.Days > 6) { entryLandingTime = new TimeSpan(0, entryLandingTime.Hours, entryLandingTime.Minutes, entryLandingTime.Seconds); } TimeSpan entryStartTakeoffTime = entryTakeoffTime.Subtract(gateTimeBefore); TimeSpan entryEndTakeoffTime = entryTakeoffTime.Add(gateTimeAfter); TimeSpan tTakeoffTime = new TimeSpan(entryStartTakeoffTime.Days, entryStartTakeoffTime.Hours, (entryStartTakeoffTime.Minutes / 15) * 15, 0); while (tTakeoffTime < entryEndTakeoffTime) { if (occupiedSlots1.Contains(tTakeoffTime)) { return(true); } tTakeoffTime = tTakeoffTime.Add(new TimeSpan(0, 15, 0)); } TimeSpan entryStartLandingTime = entryLandingTime.Subtract(gateTimeBefore); TimeSpan entryEndLandingTime = entryLandingTime.Add(gateTimeAfter); TimeSpan tLandingTime = new TimeSpan(entryStartLandingTime.Days, entryStartLandingTime.Hours, (entryStartLandingTime.Minutes / 15) * 15, 0); while (tLandingTime < entryEndLandingTime) { if (occupiedSlots2.Contains(tLandingTime)) { return(true); } tLandingTime = tLandingTime.Add(new TimeSpan(0, 15, 0)); } return(false); }
public PageAirlinerAutoRoute(FleetAirliner airliner, PopUpAirlinerAutoRoutes parent, OnRouteChanged routeChanged) { this.ParentPage = parent; this.Airliner = airliner; this.RouteChanged += routeChanged; InitializeComponent(); StackPanel mainPanel = new StackPanel(); mainPanel.Children.Add(createAutoGeneratePanel()); this.Content = mainPanel; }
private void cbAirliner_Unchecked(object sender, RoutedEventArgs e) { FleetAirliner airliner = (FleetAirliner)((CheckBox)sender).Tag; this.AirlinersToMaintain.Remove(airliner); if (this.AirlinersToMaintain.Count == 0) { this.Classes.Clear(); showClasses(); btnEquipped.IsEnabled = false; btnApply.IsEnabled = false; } }
private void btnTransfer_Click(object sender, RoutedEventArgs e) { ComboBox cbAirliners = new ComboBox(); cbAirliners.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbAirliners.SelectedValuePath = "Name"; cbAirliners.DisplayMemberPath = "Name"; cbAirliners.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbAirliners.Width = 200; long maxDistance = this.Airliner.Airliner.Type.Range; long requiredRunway = this.Airliner.Airliner.Type.MinRunwaylength; var airliners = GameObject.GetInstance().HumanAirline.Fleet.FindAll(a => a != this.Airliner && a.Routes.Count > 0 && a.Status == FleetAirliner.AirlinerStatus.Stopped && a.Routes.Max(r => r.getDistance()) <= maxDistance); foreach (FleetAirliner airliner in airliners) { cbAirliners.Items.Add(airliner); } cbAirliners.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PopUpAirlinerRoutes", "1001"), cbAirliners) == PopUpSingleElement.ButtonSelected.OK && cbAirliners.SelectedItem != null) { clearTimeTable(); FleetAirliner transferAirliner = (FleetAirliner)cbAirliners.SelectedItem; foreach (Route route in transferAirliner.Routes) { foreach (RouteTimeTableEntry entry in route.TimeTable.Entries.FindAll(en => en.Airliner == transferAirliner)) { entry.Airliner = this.Airliner; this.Entries.Add(entry); } if (!this.Airliner.Routes.Contains(route)) { this.Airliner.addRoute(route); this.Routes.Add(route); } } transferAirliner.Routes.Clear(); } }
//returns the next entry after a specific date and with a specific airliner public RouteTimeTableEntry getNextEntry(DateTime time, FleetAirliner airliner) { DateTime dt = new DateTime(time.Year, time.Month, time.Day, time.Hour, time.Minute, time.Second); int counter = 0; while (counter < 8) { List<RouteTimeTableEntry> entries = getEntries(dt.DayOfWeek).FindAll(e=>airliner == e.Airliner); foreach (RouteTimeTableEntry dEntry in (from e in entries orderby e.Time select e)) { if (!(dEntry.Time <= dt.TimeOfDay && dt.Day == time.Day)) return dEntry; } dt = dt.AddDays(1); counter++; } RouteTimeTableEntry entry = this.Entries.Find(e => e.Airliner == airliner); return entry; }
//returns all entries for a specific airliner public List<RouteTimeTableEntry> getEntries(FleetAirliner airliner) { return this.Entries.FindAll(e => e.Airliner == airliner); }