Ejemplo n.º 1
0
        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 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();
        }
Ejemplo n.º 3
0
        private void lnkAirline_Click(object sender, RoutedEventArgs e)
        {
            FleetAirliner airliner = (FleetAirliner)((Hyperlink)sender).Tag;

            panelSideMenu.Children.Clear();


            if (airliner.NumberOfPilots == airliner.Airliner.Type.CockpitCrew)
            {
                PopUpAirlinerAutoRoutes.ShowPopUp(airliner);
                showFleet();
            }
            else
            {
                int missingPilots = airliner.Airliner.Type.CockpitCrew - airliner.NumberOfPilots;
                if (GameObject.GetInstance().HumanAirline.Pilots.FindAll(p => p.Airliner == null).Count >= missingPilots)
                {
                    WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2505"), string.Format(Translator.GetInstance().GetString("MessageBox", "2505", "message")), WPFMessageBoxButtons.YesNo);

                    if (result == WPFMessageBoxResult.Yes)
                    {
                        var unassignedPilots = GameObject.GetInstance().HumanAirline.Pilots.FindAll(p => p.Airliner == null).ToList();

                        for (int i = 0; i < missingPilots; i++)
                        {
                            unassignedPilots[i].Airliner = airliner;
                            airliner.addPilot(unassignedPilots[i]);
                        }

                        // PopUpAirlinerRoutes.ShowPopUp(airliner, true);
                        PopUpAirlinerAutoRoutes.ShowPopUp(airliner);

                        showFleet();
                    }
                }
                else
                {
                    Random rnd = new Random();
                    WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2506"), string.Format(Translator.GetInstance().GetString("MessageBox", "2506", "message"), missingPilots), WPFMessageBoxButtons.YesNo);

                    if (result == WPFMessageBoxResult.Yes)
                    {
                        while (airliner.Airliner.Type.CockpitCrew > airliner.NumberOfPilots)
                        {
                            var pilots = Pilots.GetUnassignedPilots(p => p.Profile.Town.Country == airliner.Airliner.Airline.Profile.Country);

                            if (pilots.Count == 0)
                            {
                                pilots = Pilots.GetUnassignedPilots(p => p.Profile.Town.Country.Region == airliner.Airliner.Airline.Profile.Country.Region);
                            }

                            if (pilots.Count == 0)
                            {
                                pilots = Pilots.GetUnassignedPilots();
                            }

                            Pilot pilot = pilots.First();

                            airliner.Airliner.Airline.addPilot(pilot);
                            pilot.Airliner = airliner;
                            airliner.addPilot(pilot);
                        }

                        //PopUpAirlinerRoutes.ShowPopUp(airliner, true);
                        PopUpAirlinerAutoRoutes.ShowPopUp(airliner);

                        showFleet();
                    }
                }
            }
        }