//creates the combo box for a destination private ComboBox createDestinationComboBox() { ComboBox cbDestination = new ComboBox(); cbDestination.SetResourceReference(ComboBox.ItemTemplateProperty, "AirportCountryItem"); cbDestination.Background = Brushes.Transparent; cbDestination.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbDestination.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbDestination.SelectionChanged += new SelectionChangedEventHandler(cbDestination_SelectionChanged); List <Airport> airports = GameObject.GetInstance().HumanAirline.Airports.FindAll(a => AirportHelpers.HasFreeGates(a, GameObject.GetInstance().HumanAirline)); airports.Sort(delegate(Airport a1, Airport a2) { return(a1.Profile.Name.CompareTo(a2.Profile.Name)); }); foreach (Airport airport in airports) { cbDestination.Items.Add(airport); } return(cbDestination); }
public ucStopover() { WrapPanel panelStopover = new WrapPanel(); cbDestination = new ComboBox(); cbDestination.SetResourceReference(ComboBox.ItemTemplateProperty, "AirportCountryItem"); cbDestination.Background = Brushes.Transparent; cbDestination.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbDestination.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbDestination.SelectionChanged += cbDestination_SelectionChanged; List <Airport> airports = GameObject.GetInstance().HumanAirline.Airports.FindAll(a => AirportHelpers.HasFreeGates(a, GameObject.GetInstance().HumanAirline)); airports.Sort(delegate(Airport a1, Airport a2) { return(a1.Profile.Name.CompareTo(a2.Profile.Name)); }); foreach (Airport airport in airports) { cbDestination.Items.Add(airport); } panelStopover.Children.Add(cbDestination); Button btnDelete = new Button(); btnDelete.Click += btnDelete_Click; btnDelete.Margin = new Thickness(5, 0, 0, 0); btnDelete.Background = Brushes.Transparent; Image imgEdit = new Image(); imgEdit.Width = 16; imgEdit.Source = new BitmapImage(new Uri(@"/Data/images/delete.png", UriKind.RelativeOrAbsolute)); RenderOptions.SetBitmapScalingMode(imgEdit, BitmapScalingMode.HighQuality); btnDelete.Content = imgEdit; panelStopover.Children.Add(btnDelete); this.Content = panelStopover; }
private void btnSave_Click(object sender, RoutedEventArgs e) { Airline airline = GameObject.GetInstance().HumanAirline; Airport dest1 = (Airport)cbDestination1.SelectedItem; Airport dest2 = (Airport)cbDestination2.SelectedItem; Airport stopover1 = ucStopover1.Value; Airport stopover2 = ucStopover2.Value; Boolean stopoverOk = (stopover1 == null ? true : AirportHelpers.HasFreeGates(stopover1, airline)) && (stopover2 == null ? true : AirportHelpers.HasFreeGates(stopover2, airline)); if (AirportHelpers.HasFreeGates(dest1, airline) && AirportHelpers.HasFreeGates(dest2, airline) && stopoverOk) { Route route = null; Guid id = Guid.NewGuid(); if (this.RouteType == Route.RouteType.Passenger) { route = new PassengerRoute(id.ToString(), dest1, dest2, 0); foreach (RouteAirlinerClass aClass in this.Classes.Values) { ((PassengerRoute)route).getRouteAirlinerClass(aClass.Type).FarePrice = aClass.FarePrice; foreach (RouteFacility facility in aClass.getFacilities()) { ((PassengerRoute)route).getRouteAirlinerClass(aClass.Type).addFacility(facility); } ((PassengerRoute)route).getRouteAirlinerClass(aClass.Type).Seating = aClass.Seating; } } if (this.RouteType == Route.RouteType.Cargo) { route = new CargoRoute(id.ToString(), dest1, dest2, this.CargoPrice); } if (stopover1 != null) { if (stopover2 != null) { route.addStopover(FleetAirlinerHelpers.CreateStopoverRoute(dest1, stopover1, stopover2, route, false, this.RouteType)); } else { route.addStopover(FleetAirlinerHelpers.CreateStopoverRoute(dest1, stopover1, dest2, route, false, this.RouteType)); } } if (stopover2 != null) { if (stopover1 != null) { route.addStopover(FleetAirlinerHelpers.CreateStopoverRoute(stopover1, stopover2, dest2, route, true, this.RouteType)); } else { route.addStopover(FleetAirlinerHelpers.CreateStopoverRoute(dest1, stopover2, dest2, route, false, this.RouteType)); } } airline.addRoute(route); PageNavigator.NavigateTo(new PageRoutes()); this.Visibility = System.Windows.Visibility.Collapsed; route.LastUpdated = GameObject.GetInstance().GameTime; } else { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2501"), Translator.GetInstance().GetString("MessageBox", "2501", "message"), WPFMessageBoxButtons.Ok); } }