Esempio n. 1
0
        //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);
        }
Esempio n. 2
0
            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;
            }
Esempio n. 3
0
        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);
            }
        }