private void btnAircraft_Click(object sender, RoutedEventArgs e) { ComboBox cbAircraft = new ComboBox(); cbAircraft.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbAircraft.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbAircraft.ItemTemplate = this.Resources["TrainingAircraftTypeItem"] as DataTemplate; cbAircraft.Width = 300; foreach (TrainingAircraftType type in TrainingAircraftTypes.GetAircraftTypes().FindAll(t => GeneralHelpers.GetInflationPrice(t.Price) < GameObject.GetInstance().HumanAirline.Money)) { cbAircraft.Items.Add(type); } cbAircraft.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PanelFlightSchool", "1005"), cbAircraft) == PopUpSingleElement.ButtonSelected.OK && cbAircraft.SelectedItem != null) { TrainingAircraftType aircraft = (TrainingAircraftType)cbAircraft.SelectedItem; double price = aircraft.Price; this.FlightSchool.addTrainingAircraft(new TrainingAircraft(aircraft, GameObject.GetInstance().GameTime, this.FlightSchool)); AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Airline_Expenses, -price); txtTrainingAircrafts.Text = this.FlightSchool.TrainingAircrafts.Count.ToString(); showTrainingAircrafts(); int studentsCapacity = Math.Min(this.FlightSchool.Instructors.Count * FlightSchool.MaxNumberOfStudentsPerInstructor, this.FlightSchool.TrainingAircrafts.Sum(f => f.Type.MaxNumberOfStudents)); btnHire.IsEnabled = studentsCapacity > this.FlightSchool.Students.Count && GameObject.GetInstance().HumanAirline.Money > GeneralHelpers.GetInflationPrice(PilotStudent.StudentCost); } }
private void btnHire_Click(object sender, RoutedEventArgs e) { Instructor instructor = (Instructor)((Button)sender).Tag; ComboBox cbFlightSchools = new ComboBox(); cbFlightSchools.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbFlightSchools.Width = 200; cbFlightSchools.SelectedValuePath = "Name"; cbFlightSchools.DisplayMemberPath = "Name"; cbFlightSchools.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; foreach (FlightSchool fs in GameObject.GetInstance().HumanAirline.FlightSchools.Where(f => f.NumberOfInstructors < FlightSchool.MaxNumberOfInstructors)) { cbFlightSchools.Items.Add(fs); } cbFlightSchools.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PanelFlightSchool", "1008"), cbFlightSchools) == PopUpSingleElement.ButtonSelected.OK && cbFlightSchools.SelectedItem != null) { FlightSchool flightSchool = (FlightSchool)cbFlightSchools.SelectedItem; flightSchool.addInstructor(instructor); instructor.FlightSchool = flightSchool; this.AllInstructors.Remove(instructor); ICollectionView view = CollectionViewSource.GetDefaultView(lvFlightSchools.ItemsSource); view.Refresh(); } }
private void btnLoad_Click(object sender, RoutedEventArgs e) { ComboBox cbConfigurations = new ComboBox(); cbConfigurations.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbConfigurations.SelectedValuePath = "Name"; cbConfigurations.DisplayMemberPath = "Name"; cbConfigurations.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbConfigurations.Width = 200; foreach (RouteClassesConfiguration confItem in Configurations.GetConfigurations(Configuration.ConfigurationType.Routeclasses)) { cbConfigurations.Items.Add(confItem); } cbConfigurations.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageAirlineWages", "1013"), cbConfigurations) == PopUpSingleElement.ButtonSelected.OK && cbConfigurations.SelectedItem != null) { RouteClassesConfiguration configuration = (RouteClassesConfiguration)cbConfigurations.SelectedItem; foreach (RouteClassConfiguration classConfiguration in configuration.getClasses()) { foreach (RouteFacility facility in classConfiguration.getFacilities()) { ComboBox cbFacility = cbFacilities[classConfiguration.Type].Find(cb => ((RouteFacility)cb.SelectedItem).Type == facility.Type); if (GameObject.GetInstance().GameTime.Year >= (int)facility.Type) { cbFacility.SelectedItem = facility; } } } } }
private void btnBuyAircraft_Click(object sender, RoutedEventArgs e) { ComboBox cbAircraft = new ComboBox(); cbAircraft.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbAircraft.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbAircraft.ItemTemplate = this.Resources["TrainingAircraftTypeItem"] as DataTemplate; cbAircraft.Width = 300; foreach (TrainingAircraftType type in TrainingAircraftTypes.GetAircraftTypes().FindAll(t => GeneralHelpers.GetInflationPrice(t.Price) < GameObject.GetInstance().HumanAirline.Money)) { cbAircraft.Items.Add(type); } cbAircraft.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageShowFlightSchool", "1014"), cbAircraft) == PopUpSingleElement.ButtonSelected.OK && cbAircraft.SelectedItem != null) { TrainingAircraftType aircraft = (TrainingAircraftType)cbAircraft.SelectedItem; double price = aircraft.Price; this.FlightSchool.addTrainingAircraft(new TrainingAircraft(aircraft, GameObject.GetInstance().GameTime, this.FlightSchool.FlightSchool)); AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Airline_Expenses, -price); setHireStudentsStatus(); } }
private void btnAddPilot_Click(object sender, RoutedEventArgs e) { ComboBox cbPilots = new ComboBox(); cbPilots.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbPilots.DisplayMemberPath = "Profile.Name"; cbPilots.SelectedValuePath = "Profile.Name"; cbPilots.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbPilots.Width = 200; foreach (Pilot pilot in this.Airliner.Airliner.Airliner.Airline.Pilots.Where(p => p.Airliner == null && p.Aircrafts.Contains(this.Airliner.Airliner.Airliner.Type.AirlinerFamily))) { cbPilots.Items.Add(pilot); } cbPilots.SelectedIndex = 0; AirlinerClassMVVM tClass = this.Airliner.Classes[0]; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageFleetAirlinerInformation", "1013"), cbPilots) == PopUpSingleElement.ButtonSelected.OK && cbPilots.SelectedItem != null) { Pilot pilot = (Pilot)cbPilots.SelectedItem; this.Airliner.addPilot(pilot); } }
private void btnSaveConfiguration_Click(object sender, RoutedEventArgs e) { TextBox txtName = new TextBox(); txtName.Width = 200; txtName.Background = Brushes.Transparent; txtName.Foreground = Brushes.White; txtName.Text = string.Format("{0} ({1} {2})", this.Airliner.Airliner.Type.Name, this.Airliner.Airliner.Classes.Count, this.Airliner.Airliner.Classes.Count == 1 ? "class" : "classes"); txtName.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; if (PopUpSingleElement.ShowPopUp("Select configuration name", txtName) == PopUpSingleElement.ButtonSelected.OK && txtName.Text.Trim().Length > 2) { string name = txtName.Text.Trim(); AirlinerConfiguration configuration = new AirlinerConfiguration(name, ((AirlinerPassengerType)this.Airliner.Airliner.Type).MaxSeatingCapacity, false); foreach (AirlinerClass aClass in this.Airliner.Airliner.Classes) { AirlinerClassConfiguration classConf = new AirlinerClassConfiguration(aClass.Type, aClass.SeatingCapacity, aClass.RegularSeatingCapacity); foreach (AirlinerFacility classFacility in aClass.getFacilities()) { classConf.addFacility(classFacility); } configuration.addClassConfiguration(classConf); } Configurations.AddConfiguration(configuration); } }
private void btnEditOwner_Click(object sender, RoutedEventArgs e) { ComboBox cbAirlines = new ComboBox(); cbAirlines.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbAirlines.SetResourceReference(ComboBox.ItemTemplateProperty, "AirlineLogoItem"); cbAirlines.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbAirlines.Width = 200; cbAirlines.Items.Add(GameObject.GetInstance().MainAirline); foreach (SubsidiaryAirline airline in GameObject.GetInstance().MainAirline.Subsidiaries) { cbAirlines.Items.Add(airline); } cbAirlines.Items.Remove(this.Airliner.Airliner.Airline); cbAirlines.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageFleetAirliner", "1028"), cbAirlines) == PopUpSingleElement.ButtonSelected.OK && cbAirlines.SelectedItem != null) { Airline airline = (Airline)cbAirlines.SelectedItem; this.Airliner.Airliner.Airline.removeAirliner(this.Airliner); airline.addAirliner(this.Airliner); this.Airliner.Airliner.Airline = airline; PageNavigator.NavigateTo(new PageFleetAirliner(this.Airliner)); } }
private void btnHub_Click(object sender, RoutedEventArgs e) { StackPanel panelHubs = new StackPanel(); foreach (HubType type in HubTypes.GetHubTypes()) { if (AirlineHelpers.CanCreateHub(GameObject.GetInstance().HumanAirline, this.Airport, type)) { panelHubs.Children.Add(createHubType(type, panelHubs)); } } if (panelHubs.Children.Count == 0) { panelHubs.Children.Add(UICreator.CreateTextBlock("You can't etablish any hubs at this airport")); } if (PopUpSingleElement.ShowPopUp("Select hub type", panelHubs) == PopUpSingleElement.ButtonSelected.OK && panelHubs.Tag != null) { HubType type = (HubType)panelHubs.Tag; if (AirportHelpers.GetHubPrice(this.Airport, type) > GameObject.GetInstance().HumanAirline.Money) { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2212"), Translator.GetInstance().GetString("MessageBox", "2212", "message"), WPFMessageBoxButtons.Ok); } else { this.Airport.addHub(new Hub(GameObject.GetInstance().HumanAirline, type)); showHubs(); AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Purchases, -AirportHelpers.GetHubPrice(this.Airport, type)); } } }
private void btnPurchaseShares_Click(object sender, RoutedEventArgs e) { AirlinesMVVM airline = this.SelectedAirline; ComboBox cbShares = new ComboBox(); cbShares.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbShares.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbShares.Width = 200; int dValue = Convert.ToInt16(Convert.ToDouble(airline.StocksForSale) / 10); for (int i = 0; i <= airline.StocksForSale; i += dValue) { cbShares.Items.Add(i); } cbShares.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageAirlinesShares", "1000"), cbShares) == PopUpSingleElement.ButtonSelected.OK && cbShares.SelectedItem != null) { int numberOfShares = Convert.ToInt32(cbShares.SelectedItem); double amount = numberOfShares * airline.StockPrice; AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Airline_Expenses, -amount); airline.addOwnership(GameObject.GetInstance().HumanAirline, numberOfShares); } }
private void btnSave_Click(object sender, RoutedEventArgs e) { int totalServiceLevel = this.Facilities.Keys.Sum(c => this.Facilities[c].Sum(f => f.ServiceLevel)); TextBox txtName = new TextBox(); txtName.Width = 200; txtName.Background = Brushes.Transparent; txtName.Foreground = Brushes.White; txtName.Text = string.Format("Configuration {0} (Service level: {1})", Configurations.GetConfigurations(Configuration.ConfigurationType.Routeclasses).Count + 1, totalServiceLevel); txtName.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageAirlineWages", "1013"), txtName) == PopUpSingleElement.ButtonSelected.OK && txtName.Text.Trim().Length > 2) { string name = txtName.Text.Trim(); RouteClassesConfiguration configuration = new RouteClassesConfiguration(name, true); foreach (AirlinerClass.ClassType type in this.Facilities.Keys) { RouteClassConfiguration classConfiguration = new RouteClassConfiguration(type); foreach (RouteFacility facility in this.Facilities[type]) { classConfiguration.addFacility(facility); } configuration.addClass(classConfiguration); } Configurations.AddConfiguration(configuration); } }
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(); } }
private void btnLoad_Click(object sender, RoutedEventArgs e) { ComboBox cbConfigurations = new ComboBox(); cbConfigurations.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbConfigurations.SelectedValuePath = "Name"; cbConfigurations.DisplayMemberPath = "Name"; cbConfigurations.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbConfigurations.Width = 200; foreach (RouteClassesConfiguration confItem in Configurations.GetConfigurations(Configuration.ConfigurationType.Routeclasses)) { cbConfigurations.Items.Add(confItem); } cbConfigurations.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp("Select configuration", cbConfigurations) == PopUpSingleElement.ButtonSelected.OK && cbConfigurations.SelectedItem != null) { RouteClassesConfiguration configuration = (RouteClassesConfiguration)cbConfigurations.SelectedItem; foreach (RouteClassConfiguration classConfiguration in configuration.getClasses()) { foreach (Route route in this.Classes.Keys) { foreach (RouteFacility facility in classConfiguration.getFacilities()) { this.Classes[route][classConfiguration.Type].addFacility(facility); } } } } }
private void btnEditCargo_Click(object sender, RoutedEventArgs e) { double rate = 1; if (GameObject.GetInstance().CurrencyCountry != null) { CountryCurrency currency = GameObject.GetInstance().CurrencyCountry.getCurrency(GameObject.GetInstance().GameTime); rate = currency == null ? 1 : currency.Rate; } TextBox tbCargoPrice = new TextBox(); tbCargoPrice.Text = string.Format("{0:0.00}", this.CargoPrice * rate); tbCargoPrice.TextAlignment = TextAlignment.Left; tbCargoPrice.Width = 100; tbCargoPrice.Background = Brushes.Transparent; tbCargoPrice.SetResourceReference(TextBox.ForegroundProperty, "TextColor"); tbCargoPrice.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PanelNewRoute", "1008"), tbCargoPrice) == PopUpSingleElement.ButtonSelected.OK && tbCargoPrice.Text.Length > 0) { this.CargoPrice = Convert.ToDouble(tbCargoPrice.Text) / rate; txtCargo.Text = new ValueCurrencyConverter().Convert(this.CargoPrice).ToString(); } }
private void btnChangeInstructor_Click(object sender, RoutedEventArgs e) { PilotStudent student = (PilotStudent)((Hyperlink)sender).Tag; ComboBox cbInstructor = new ComboBox(); cbInstructor.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbInstructor.Width = 200; cbInstructor.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbInstructor.DisplayMemberPath = "Profile.Name"; cbInstructor.SelectedValuePath = "Profile.Name"; foreach (Instructor instructor in this.FlightSchool.Instructors.Where(i => i.Students.Count < Model.PilotModel.FlightSchool.MaxNumberOfStudentsPerInstructor && i != student.Instructor)) { cbInstructor.Items.Add(instructor); } cbInstructor.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PanelFlightSchool", "1005"), cbInstructor) == PopUpSingleElement.ButtonSelected.OK && cbInstructor.SelectedItem != null) { student.Instructor.removeStudent(student); student.Instructor = (Instructor)cbInstructor.SelectedItem; ICollectionView view = CollectionViewSource.GetDefaultView(lvStudents.ItemsSource); view.Refresh(); } }
private void btnDelete_Click(object sender, RoutedEventArgs e) { FlightSchool fs = (FlightSchool)((Button)sender).Tag; WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2812"), string.Format(Translator.GetInstance().GetString("MessageBox", "2812", "message"), fs.Airport.Profile.Town.Name), WPFMessageBoxButtons.YesNo); if (result == WPFMessageBoxResult.Yes) { GameObject.GetInstance().HumanAirline.removeFlightSchool(fs); this.FlightSchools.Remove(fs); if (GameObject.GetInstance().HumanAirline.FlightSchools.Count > 0) { ComboBox cbFlightSchools = new ComboBox(); cbFlightSchools.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbFlightSchools.Width = 200; cbFlightSchools.SelectedValuePath = "Name"; cbFlightSchools.DisplayMemberPath = "Name"; cbFlightSchools.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; foreach (FlightSchool fSchool in GameObject.GetInstance().HumanAirline.FlightSchools.Where(f => f.NumberOfInstructors + fs.NumberOfInstructors <= FlightSchool.MaxNumberOfInstructors && f != fs)) { cbFlightSchools.Items.Add(fSchool); } cbFlightSchools.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageFlightSchools", "1009"), cbFlightSchools) == PopUpSingleElement.ButtonSelected.OK && cbFlightSchools.SelectedItem != null) { FlightSchool nFlightSchool = (FlightSchool)cbFlightSchools.SelectedItem; foreach (Instructor instructor in fs.Instructors) { instructor.FlightSchool = nFlightSchool; nFlightSchool.addInstructor(instructor); } var aircrafts = new List <TrainingAircraft>(fs.TrainingAircrafts); foreach (TrainingAircraft aircraft in aircrafts) { aircraft.FlightSchool = nFlightSchool; nFlightSchool.addTrainingAircraft(aircraft); } ICollectionView view = CollectionViewSource.GetDefaultView(lvFlightSchools.ItemsSource); view.Refresh(); } else { foreach (TrainingAircraft aircraft in fs.TrainingAircrafts) { double price = aircraft.Type.Price * 0.75; AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Airline_Expenses, price); } } } } }
private void btnLoadConfiguration_Click(object sender, RoutedEventArgs e) { AirlinerPassengerType airlinerType = ((AirlinerPassengerType)this.Airliner.Airliner.Type); ComboBox cbConfigurations = new ComboBox(); cbConfigurations.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbConfigurations.SelectedValuePath = "Name"; cbConfigurations.DisplayMemberPath = "Name"; cbConfigurations.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbConfigurations.Width = 200; foreach (AirlinerConfiguration confItem in Configurations.GetConfigurations(Configuration.ConfigurationType.Airliner).FindAll(c => ((AirlinerConfiguration)c).getNumberOfClasses() <= airlinerType.MaxAirlinerClasses && ((AirlinerConfiguration)c).MinimumSeats <= airlinerType.MaxSeatingCapacity)) { cbConfigurations.Items.Add(confItem); } cbConfigurations.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp("Select configuration", cbConfigurations) == PopUpSingleElement.ButtonSelected.OK && cbConfigurations.SelectedItem != null) { AirlinerConfiguration configuration = (AirlinerConfiguration)cbConfigurations.SelectedItem; this.Airliner.Airliner.clearAirlinerClasses(); foreach (AirlinerClassConfiguration aClass in configuration.Classes) { AirlinerClass airlinerClass = new AirlinerClass(aClass.Type, aClass.SeatingCapacity); airlinerClass.RegularSeatingCapacity = aClass.RegularSeatingCapacity; foreach (AirlinerFacility facility in aClass.getFacilities()) { airlinerClass.setFacility(this.Airliner.Airliner.Airline, facility); } this.Airliner.Airliner.addAirlinerClass(airlinerClass); } int seatingDiff = airlinerType.MaxSeatingCapacity - configuration.MinimumSeats; this.Airliner.Airliner.getAirlinerClass(AirlinerClass.ClassType.Economy_Class).RegularSeatingCapacity += seatingDiff; AirlinerFacility seatingFacility = this.Airliner.Airliner.getAirlinerClass(AirlinerClass.ClassType.Economy_Class).getFacility(AirlinerFacility.FacilityType.Seat); int extraSeats = (int)(seatingDiff / seatingFacility.SeatUses); this.Airliner.Airliner.getAirlinerClass(AirlinerClass.ClassType.Economy_Class).SeatingCapacity += extraSeats; showFacilities(); } }
private void btnLoadConfiguration_Click(object sender, RoutedEventArgs e) { ComboBox cbConfigurations = new ComboBox(); cbConfigurations.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbConfigurations.SelectedValuePath = "Name"; cbConfigurations.DisplayMemberPath = "Name"; cbConfigurations.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbConfigurations.Width = 200; foreach (RouteClassesConfiguration confItem in Configurations.GetConfigurations(Configuration.ConfigurationType.Routeclasses)) { cbConfigurations.Items.Add(confItem); } cbConfigurations.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageAirlineWages", "1013"), cbConfigurations) == PopUpSingleElement.ButtonSelected.OK && cbConfigurations.SelectedItem != null) { foreach (AirlineClassMVVM rClass in this.Classes) { foreach (AirlineClassFacilityMVVM rFacility in rClass.Facilities) { rFacility.SelectedFacility = RouteFacilities.GetBasicFacility(rFacility.Type);//GetFacilities(rFacility.Type).OrderBy(f => f.ServiceLevel).First(); } } RouteClassesConfiguration configuration = (RouteClassesConfiguration)cbConfigurations.SelectedItem; foreach (RouteClassConfiguration classConfiguration in configuration.getClasses()) { foreach (RouteFacility facility in classConfiguration.getFacilities()) { AirlineClassMVVM aClass = this.Classes.Where(c => c.Type == classConfiguration.Type).FirstOrDefault(); if (aClass != null) { AirlineClassFacilityMVVM aFacility = aClass.Facilities.Where(f => f.Type == facility.Type).FirstOrDefault(); if (aFacility != null) { aFacility.SelectedFacility = facility; } } } } btnSave.Visibility = System.Windows.Visibility.Visible; } }
private void btnTrainPilot_Click(object sender, RoutedEventArgs e) { double substituteDayPrice = 500; PilotMVVM pilot = (PilotMVVM)((Button)sender).Tag; ComboBox cbAirlinerFamily = new ComboBox(); cbAirlinerFamily.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbAirlinerFamily.ItemTemplate = this.Resources["TrainingFacility"] as DataTemplate; cbAirlinerFamily.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbAirlinerFamily.Width = 350; var airlinerFamilies = AirlinerTypes.GetTypes(t => t.Produced.From.Year <= GameObject.GetInstance().GameTime.Year&& t.Produced.To > GameObject.GetInstance().GameTime.AddYears(-30)).Select(t => t.AirlinerFamily).Where(t => !pilot.Pilot.Aircrafts.Contains(t)).Distinct().OrderBy(a => a); foreach (string family in airlinerFamilies) { double price = AirlineHelpers.GetTrainingPrice(pilot.Pilot, family);; cbAirlinerFamily.Items.Add(new PilotTrainingMVVM(family, AirlineHelpers.GetTrainingDays(pilot.Pilot, family), price)); } cbAirlinerFamily.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageAirlineEmployees", "1014"), cbAirlinerFamily) == PopUpSingleElement.ButtonSelected.OK && cbAirlinerFamily.SelectedItem != null) { PilotTrainingMVVM pilotTraining = (PilotTrainingMVVM)cbAirlinerFamily.SelectedItem; if (pilot.Pilot.Airliner == null) { AirlineHelpers.SendForTraining(GameObject.GetInstance().HumanAirline, pilot.Pilot, pilotTraining.Family, pilotTraining.TrainingDays, pilotTraining.Price); pilot.OnTraining = true; } else { double substitutePrice = GeneralHelpers.GetInflationPrice(pilotTraining.TrainingDays * substituteDayPrice); WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2129"), string.Format(Translator.GetInstance().GetString("MessageBox", "2129", "message"), new ValueCurrencyConverter().Convert(substitutePrice), pilotTraining.TrainingDays), WPFMessageBoxButtons.YesNo); if (result == WPFMessageBoxResult.Yes) { AirlineHelpers.AddAirlineInvoice(this.Airline.Airline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Airline_Expenses, -substitutePrice); AirlineHelpers.SendForTraining(GameObject.GetInstance().HumanAirline, pilot.Pilot, pilotTraining.Family, pilotTraining.TrainingDays, pilotTraining.Price); pilot.OnTraining = true; } } } }
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(); } }
private void btnHire_Click(object sender, RoutedEventArgs e) { Random rnd = new Random(); ComboBox cbInstructor = new ComboBox(); cbInstructor.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbInstructor.Width = 200; cbInstructor.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbInstructor.DisplayMemberPath = "Profile.Name"; cbInstructor.SelectedValuePath = "Profile.Name"; foreach (Instructor instructor in this.FlightSchool.Instructors.Where(i => i.Students.Count < FlightSchool.MaxNumberOfStudentsPerInstructor)) { cbInstructor.Items.Add(instructor); } cbInstructor.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PanelFlightSchool", "1005"), cbInstructor) == PopUpSingleElement.ButtonSelected.OK && cbInstructor.SelectedItem != null) { List <Town> towns = Towns.GetTowns(this.FlightSchool.Airport.Profile.Country); Town town = towns[rnd.Next(towns.Count)]; DateTime birthdate = MathHelpers.GetRandomDate(GameObject.GetInstance().GameTime.AddYears(-55), GameObject.GetInstance().GameTime.AddYears(-23)); PilotProfile profile = new PilotProfile(Names.GetInstance().getRandomFirstName(), Names.GetInstance().getRandomLastName(), birthdate, town); PilotStudent student = new PilotStudent(profile, GameObject.GetInstance().GameTime, (Instructor)cbInstructor.SelectedItem); this.FlightSchool.addStudent(student); ((Instructor)cbInstructor.SelectedItem).addStudent(student); showStudents(); this.ParentPage.updatePage(); txtStudents.Text = this.FlightSchool.NumberOfStudents.ToString(); double studentPrice = GeneralHelpers.GetInflationPrice(PilotStudent.StudentCost); int studentsCapacity = Math.Min(this.FlightSchool.Instructors.Count * FlightSchool.MaxNumberOfStudentsPerInstructor, this.FlightSchool.TrainingAircrafts.Sum(f => f.Type.MaxNumberOfStudents)); btnHire.IsEnabled = studentsCapacity > this.FlightSchool.Students.Count && GameObject.GetInstance().HumanAirline.Money > studentPrice; AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Airline_Expenses, -studentPrice); } }
private void btnBuild_Click(object sender, RoutedEventArgs e) { double price = GeneralHelpers.GetInflationPrice(267050); ComboBox cbAirport = new ComboBox(); cbAirport.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbAirport.Width = 200; cbAirport.SelectedValuePath = "Profile.Town.Name"; cbAirport.DisplayMemberPath = "Profile.Town.Name"; cbAirport.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; List <Airport> homeAirports = GameObject.GetInstance().HumanAirline.Airports.FindAll(a => a.getCurrentAirportFacility(GameObject.GetInstance().HumanAirline, AirportFacility.FacilityType.Service).TypeLevel > 0); homeAirports.AddRange(GameObject.GetInstance().HumanAirline.Airports.FindAll(a => a.IsHub)); //hubs homeAirports = homeAirports.Distinct().ToList(); foreach (Airport airport in homeAirports) { if (GameObject.GetInstance().HumanAirline.FlightSchools.Find(f => f.Airport == airport) == null) { cbAirport.Items.Add(airport); } } cbAirport.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PagePilots", "1004"), cbAirport) == PopUpSingleElement.ButtonSelected.OK && cbAirport.SelectedItem != null) { Airport airport = (Airport)cbAirport.SelectedItem; FlightSchool fs = new FlightSchool(airport); GameObject.GetInstance().HumanAirline.addFlightSchool(fs); this.FlightSchools.Add(fs); AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Airline_Expenses, -price); ICollectionView view = CollectionViewSource.GetDefaultView(lvInstructors.ItemsSource); view.Refresh(); } }
private void btnLoadConfiguration_Click(object sender, RoutedEventArgs e) { ComboBox cbConfigurations = new ComboBox(); cbConfigurations.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbConfigurations.SelectedValuePath = "Name"; cbConfigurations.DisplayMemberPath = "Name"; cbConfigurations.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbConfigurations.Width = 200; foreach (RouteClassesConfiguration confItem in Configurations.GetConfigurations(Configuration.ConfigurationType.Routeclasses)) { cbConfigurations.Items.Add(confItem); } cbConfigurations.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageCreateRoute", "1012"), cbConfigurations) == PopUpSingleElement.ButtonSelected.OK && cbConfigurations.SelectedItem != null) { RouteClassesConfiguration configuration = (RouteClassesConfiguration)cbConfigurations.SelectedItem; foreach (RouteClassConfiguration classConfiguration in configuration.getClasses()) { MVVMRouteClass rClass = this.Classes.Find(c => c.Type == classConfiguration.Type); if (rClass != null) { foreach (RouteFacility facility in classConfiguration.getFacilities()) { MVVMRouteFacility rFacility = rClass.Facilities.Find(f => f.Type == facility.Type); if (rFacility != null) { rFacility.SelectedFacility = facility; } } } } } }
private void btnHire_Click(object sender, RoutedEventArgs e) { Pilot pilot = (Pilot)((Button)sender).Tag; WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2801"), Translator.GetInstance().GetString("MessageBox", "2801", "message"), WPFMessageBoxButtons.YesNo); if (result == WPFMessageBoxResult.Yes) { GameObject.GetInstance().HumanAirline.addPilot(pilot); this.AllPilots.Remove(pilot); var fleetMissingPilots = GameObject.GetInstance().HumanAirline.Fleet.Where(f => f.Pilots.Count < f.Airliner.Type.CockpitCrew); if (fleetMissingPilots.Count() > 0) { ComboBox cbAirliners = new ComboBox(); cbAirliners.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbAirliners.Width = 200; cbAirliners.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbAirliners.DisplayMemberPath = "Name"; cbAirliners.SelectedValuePath = "Name"; foreach (FleetAirliner airliner in fleetMissingPilots) { cbAirliners.Items.Add(airliner); } cbAirliners.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PagePilots", "1010"), cbAirliners) == PopUpSingleElement.ButtonSelected.OK && cbAirliners.SelectedItem != null) { FleetAirliner airliner = (FleetAirliner)cbAirliners.SelectedItem; airliner.addPilot(pilot); } } } }
private void btnEditHomebase_Click(object sender, RoutedEventArgs e) { ComboBox cbHomebase = new ComboBox(); cbHomebase.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbHomebase.ItemTemplate = Application.Current.Resources["AirportCountryItem"] as DataTemplate; cbHomebase.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbHomebase.Width = 200; foreach (Airport airport in AirlineHelpers.GetHomebases(GameObject.GetInstance().HumanAirline, this.Airliner.Airliner.Airliner.Type)) { cbHomebase.Items.Add(airport); } cbHomebase.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageFleetAirlinerInformation", "1014"), cbHomebase) == PopUpSingleElement.ButtonSelected.OK && cbHomebase.SelectedItem != null) { Airport homebase = cbHomebase.SelectedItem as Airport; this.Airliner.Homebase = homebase; } }
private void btnHire_Click(object sender, RoutedEventArgs e) { Boolean isServingCountry = true;// GameObject.GetInstance().HumanAirline.Airports.Exists(a => a.Profile.Country == this.Instructor.Profile.Town.Country); if (isServingCountry) { ComboBox cbFlightSchools = new ComboBox(); cbFlightSchools.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbFlightSchools.Width = 200; cbFlightSchools.SelectedValuePath = "Name"; cbFlightSchools.DisplayMemberPath = "Name"; cbFlightSchools.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; foreach (FlightSchool fs in GameObject.GetInstance().HumanAirline.FlightSchools.Where(f => f.NumberOfInstructors < FlightSchool.MaxNumberOfInstructors)) { cbFlightSchools.Items.Add(fs); } cbFlightSchools.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PanelFlightSchool", "1008"), cbFlightSchools) == PopUpSingleElement.ButtonSelected.OK && cbFlightSchools.SelectedItem != null) { FlightSchool flightSchool = (FlightSchool)cbFlightSchools.SelectedItem; flightSchool.addInstructor(this.Instructor); this.Instructor.FlightSchool = flightSchool; this.ParentPage.updatePage(); this.ParentPage.unloadSideMenu(); } } else { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2808"), Translator.GetInstance().GetString("MessageBox", "2808", "message"), WPFMessageBoxButtons.Ok); } }
private void hlAlliance_Click(object sender, RoutedEventArgs e) { ComboBox cbAlliances = new ComboBox(); cbAlliances.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbAlliances.SelectedValuePath = "Name"; cbAlliances.DisplayMemberPath = "Name"; cbAlliances.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbAlliances.Width = 200; foreach (Alliance alliance in GameObject.GetInstance().HumanAirline.Alliances) { cbAlliances.Items.Add(alliance); } cbAlliances.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageAirline", "1005"), cbAlliances) == PopUpSingleElement.ButtonSelected.OK && cbAlliances.SelectedItem != null) { Alliance alliance = (Alliance)cbAlliances.SelectedItem; if (AIHelpers.DoAcceptAllianceInvitation(this.Airline.Airline, alliance)) { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2605"), string.Format(Translator.GetInstance().GetString("MessageBox", "2605", "message"), this.Airline.Airline.Profile.Name, alliance.Name), WPFMessageBoxButtons.Ok); alliance.addMember(new AllianceMember(this.Airline.Airline, GameObject.GetInstance().GameTime)); this.Airline.Alliance = alliance; this.CanHaveAlliance = false; this.ShowActionMenu = !this.Airline.Airline.IsHuman && (this.CanHaveAlliance || !this.HasCodesharing); } else { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2606"), string.Format(Translator.GetInstance().GetString("MessageBox", "2606", "message"), this.Airline.Airline.Profile.Name, alliance.Name), WPFMessageBoxButtons.Ok); } } }
private void btnLease_Click(object sender, RoutedEventArgs e) { Boolean contractedOrder = false; Boolean tryOrder = true; double totalLeasingPrice = this.SelectedAirliners.Sum(a => a.Airliner.getLeasingPrice() * 2); if (GameObject.GetInstance().HumanAirline.Contract != null) { Boolean sameManufaturer = this.SelectedAirliners.FirstOrDefault(a => a.Airliner.Type.Manufacturer != GameObject.GetInstance().HumanAirline.Contract.Manufacturer) == null; if (sameManufaturer) { contractedOrder = true; } else { double terminationFee = GameObject.GetInstance().HumanAirline.Contract.getTerminationFee(); WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2010"), string.Format(Translator.GetInstance().GetString("MessageBox", "2010", "message"), GameObject.GetInstance().HumanAirline.Contract.Manufacturer.Name, terminationFee), WPFMessageBoxButtons.YesNo); if (result == WPFMessageBoxResult.Yes) { AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Purchases, -terminationFee); GameObject.GetInstance().HumanAirline.Contract = null; } tryOrder = result == WPFMessageBoxResult.Yes; } } if (totalLeasingPrice > GameObject.GetInstance().HumanAirline.Money) { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2004"), Translator.GetInstance().GetString("MessageBox", "2004", "message"), WPFMessageBoxButtons.Ok); } else { if (tryOrder) { ComboBox cbHomebase = new ComboBox(); cbHomebase.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbHomebase.ItemTemplate = Application.Current.Resources["AirportCountryItem"] as DataTemplate; cbHomebase.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbHomebase.Width = 200; long minRunway = this.SelectedAirliners.Max(a => a.Airliner.Type.MinRunwaylength); var homebases = GameObject.GetInstance().HumanAirline.Airports.FindAll(a => (a.hasContractType(GameObject.GetInstance().HumanAirline, AirportContract.ContractType.Full_Service) || a.getCurrentAirportFacility(GameObject.GetInstance().HumanAirline, AirportFacility.FacilityType.Service).TypeLevel > 0) && a.getMaxRunwayLength() >= minRunway); foreach (Airport airport in homebases) { cbHomebase.Items.Add(airport); } cbHomebase.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageFleetAirlinerInformation", "1014"), cbHomebase) == PopUpSingleElement.ButtonSelected.OK && cbHomebase.SelectedItem != null) { Airport airport = cbHomebase.SelectedItem as Airport; var selectedAirliners = new List <AirlinerMVVM>(this.SelectedAirliners); foreach (AirlinerMVVM airliner in selectedAirliners) { if (Countries.GetCountryFromTailNumber(airliner.Airliner.TailNumber).Name != GameObject.GetInstance().HumanAirline.Profile.Country.Name) { airliner.Airliner.TailNumber = GameObject.GetInstance().HumanAirline.Profile.Country.TailNumbers.getNextTailNumber(); } GameObject.GetInstance().HumanAirline.addAirliner(FleetAirliner.PurchasedType.Leased, airliner.Airliner, airport); AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Rents, -airliner.Airliner.LeasingPrice * 2); if (contractedOrder) { GameObject.GetInstance().HumanAirline.Contract.PurchasedAirliners++; } this.SelectedAirliners.Remove(airliner); this.AllAirliners.Remove(airliner); } } else { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2002"), Translator.GetInstance().GetString("MessageBox", "2002", "message"), WPFMessageBoxButtons.Ok); } } } }
private void btnAddClass_Click(object sender, RoutedEventArgs e) { ComboBox cbClasses = new ComboBox(); cbClasses.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbClasses.ItemTemplate = this.Resources["AirlinerClassItem"] as DataTemplate; cbClasses.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbClasses.Width = 200; foreach (AirlinerClass.ClassType type in Enum.GetValues(typeof(AirlinerClass.ClassType))) { Boolean hasClass = this.Airliner.Classes.ToList().Exists(c => c.Type == type); if ((int)type <= GameObject.GetInstance().GameTime.Year&& !hasClass) { cbClasses.Items.Add(type); } } cbClasses.SelectedIndex = 0; AirlinerClassMVVM tClass = this.Airliner.Classes[0]; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageFleetAirlinerInformation", "1011"), cbClasses) == PopUpSingleElement.ButtonSelected.OK && cbClasses.SelectedItem != null) { int maxseats; int maxCapacity; if (this.Airliner.Airliner.Airliner.Type.TypeAirliner == AirlinerType.TypeOfAirliner.Passenger) { maxCapacity = ((AirlinerPassengerType)this.Airliner.Airliner.Airliner.Type).MaxSeatingCapacity; } else { maxCapacity = tClass.RegularSeatingCapacity; } if (this.Airliner.Classes.Count == 2) { maxseats = maxCapacity - 1 - this.Airliner.Classes[1].RegularSeatingCapacity; } else { maxseats = maxCapacity - 1; } AirlinerClassMVVM aClass = new AirlinerClassMVVM(new AirlinerClass((AirlinerClass.ClassType)cbClasses.SelectedItem, 0), 1, 1, maxseats, true); foreach (AirlinerFacilityMVVM aFacility in aClass.Facilities) { var facility = AirlinerFacilities.GetBasicFacility(aFacility.Type); aFacility.SelectedFacility = facility; } this.Airliner.Classes.Add(aClass); tClass.RegularSeatingCapacity -= aClass.RegularSeatingCapacity; tClass.Seating = Convert.ToInt16(Convert.ToDouble(tClass.RegularSeatingCapacity) / tClass.Facilities.Where(f => f.Type == AirlinerFacility.FacilityType.Seat).First().SelectedFacility.SeatUses); } }
private void btnBuy_Click(object sender, RoutedEventArgs e) { Boolean contractedOrder = false; Boolean tryOrder = true; double totalPrice = this.SelectedAirliners.Sum(a => a.Airliner.getPrice()); if (GameObject.GetInstance().HumanAirline.Contract != null) { Boolean sameManufaturer = this.SelectedAirliners.FirstOrDefault(a => a.Airliner.Type.Manufacturer != GameObject.GetInstance().HumanAirline.Contract.Manufacturer) == null; if (sameManufaturer) { contractedOrder = true; } else { double terminationFee = GameObject.GetInstance().HumanAirline.Contract.getTerminationFee(); WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2010"), string.Format(Translator.GetInstance().GetString("MessageBox", "2010", "message"), GameObject.GetInstance().HumanAirline.Contract.Manufacturer.Name, terminationFee), WPFMessageBoxButtons.YesNo); if (result == WPFMessageBoxResult.Yes) { AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Purchases, -terminationFee); GameObject.GetInstance().HumanAirline.Contract = null; } tryOrder = result == WPFMessageBoxResult.Yes; } } if (totalPrice > GameObject.GetInstance().HumanAirline.Money) { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2001"), Translator.GetInstance().GetString("MessageBox", "2001", "message"), WPFMessageBoxButtons.Ok); } else { if (tryOrder) { ComboBox cbHomebase = new ComboBox(); cbHomebase.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbHomebase.ItemTemplate = Application.Current.Resources["AirportCountryItem"] as DataTemplate; cbHomebase.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbHomebase.Width = 200; long minRunway = this.SelectedAirliners.Max(a => a.Airliner.Type.MinRunwaylength); var homebases = AirlineHelpers.GetHomebases(GameObject.GetInstance().HumanAirline, minRunway); foreach (Airport airport in homebases) { cbHomebase.Items.Add(airport); } cbHomebase.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageFleetAirlinerInformation", "1014"), cbHomebase) == PopUpSingleElement.ButtonSelected.OK && cbHomebase.SelectedItem != null) { Airport airport = cbHomebase.SelectedItem as Airport; var selectedAirliners = new List <AirlinerMVVM>(this.SelectedAirliners); foreach (AirlinerMVVM airliner in selectedAirliners) { if (contractedOrder) { AirlineHelpers.BuyAirliner(GameObject.GetInstance().HumanAirline, airliner.Airliner, airport, GameObject.GetInstance().HumanAirline.Contract.Discount); } else { AirlineHelpers.BuyAirliner(GameObject.GetInstance().HumanAirline, airliner.Airliner, airport); } if (contractedOrder) { GameObject.GetInstance().HumanAirline.Contract.PurchasedAirliners++; } airliner.IsSelected = false; this.SelectedAirliners.Remove(airliner); this.AllAirliners.Remove(airliner); } } else { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2002"), Translator.GetInstance().GetString("MessageBox", "2002", "message"), WPFMessageBoxButtons.Ok); } } } }
private void lnk_Pilot(object sender, RoutedEventArgs e) { Pilot pilot = (Pilot)((Hyperlink)sender).Tag; if (pilot.Airliner == null) { 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 GameObject.GetInstance().HumanAirline.Fleet.FindAll(f => f.Pilots.Count < f.Airliner.Type.CockpitCrew)) { cbAirliners.Items.Add(airliner); } cbAirliners.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageAirlinePilots", "1002"), cbAirliners) == PopUpSingleElement.ButtonSelected.OK && cbAirliners.SelectedItem != null) { FleetAirliner airliner = (FleetAirliner)cbAirliners.SelectedItem; airliner.addPilot(pilot); pilot.Airliner = airliner; } } else { if (pilot.Airliner.Status != FleetAirliner.AirlinerStatus.Stopped) { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2115"), Translator.GetInstance().GetString("MessageBox", "2115", "message"), WPFMessageBoxButtons.Ok); } else { 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 GameObject.GetInstance().HumanAirline.Fleet.FindAll(f => f.Pilots.Count < f.Airliner.Type.CockpitCrew && f != pilot.Airliner)) { cbAirliners.Items.Add(airliner); } cbAirliners.SelectedIndex = 0; if (PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageAirlinePilots", "1002"), cbAirliners) == PopUpSingleElement.ButtonSelected.OK && cbAirliners.SelectedItem != null) { pilot.Airliner.removePilot(pilot); FleetAirliner airliner = (FleetAirliner)cbAirliners.SelectedItem; airliner.addPilot(pilot); pilot.Airliner = airliner; } } } showPilots(); }