Пример #1
0
        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();
            }
        }
Пример #2
0
        private void lnkFlightSchool_Click(object sender, RoutedEventArgs e)
        {
            FlightSchool fs = (FlightSchool)((Hyperlink)sender).Tag;

            TabControl tab_main = UIHelpers.FindChild <TabControl>(this.Tag as Page, "tabMenu");

            if (tab_main != null)
            {
                var matchingItem =
                    tab_main.Items.Cast <TabItem>()
                    .Where(item => item.Tag.ToString() == "Flightschool")
                    .FirstOrDefault();

                //matchingItem.IsSelected = true;
                matchingItem.Header     = fs.Name;
                matchingItem.Visibility = System.Windows.Visibility.Visible;

                tab_main.SelectedItem = matchingItem;
            }

            Frame frmContent = UIHelpers.FindChild <Frame>(this.Tag as Page, "frmContent");

            if (frmContent != null)
            {
                frmContent.Navigate(new PageShowFlightSchool(fs)
                {
                    Tag = this.Tag
                });
            }
        }
Пример #3
0
        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);
                        }
                    }
                }
            }
        }
Пример #4
0
        public PageShowFlightSchool(FlightSchool fs)
        {
            this.FlightSchool = new FlightSchoolMVVM(fs);
            this.DataContext  = this.FlightSchool;

            setHireStudentsStatus();

            InitializeComponent();
        }
Пример #5
0
        public void removeFlightSchool(FlightSchool school)
        {
            this.FlightSchools.Remove(school);

            foreach (Instructor instructor in school.Instructors)
            {
                instructor.FlightSchool = null;
            }
        }
Пример #6
0
        public FlightSchoolMVVM(FlightSchool fs)
        {
            this.FlightSchool = fs;

            this.Students    = new ObservableCollection <PilotStudent>();
            this.Aircrafts   = new ObservableCollection <TrainingAircraft>();
            this.Instructors = new ObservableCollection <Instructor>();

            this.FlightSchool.Students.ForEach(s => this.Students.Add(s));
            this.FlightSchool.TrainingAircrafts.ForEach(a => this.Aircrafts.Add(a));
            this.FlightSchool.Instructors.ForEach(i => this.Instructors.Add(i));
        }
Пример #7
0
        public PageShowFlightSchool(FlightSchool fs)
        {
            this.FlightSchool     = new FlightSchoolMVVM(fs);
            this.Instructors      = new ObservableCollection <Instructor>();
            this.AirlinerFamilies = AirlinerTypes.GetTypes(t => t.Produced.From.Year <= GameObject.GetInstance().GameTime.Year&& t.Produced.To > GameObject.GetInstance().GameTime.AddYears(-30)).Select(t => t.AirlinerFamily).Distinct().OrderBy(a => a).ToList();

            this.DataContext = this.FlightSchool;

            setHireStudentsStatus();

            InitializeComponent();
        }
        public PanelFlightSchool(PagePilots parent, FlightSchool flighschool)
        {
            this.ParentPage   = parent;
            this.FlightSchool = flighschool;

            InitializeComponent();

            StackPanel panelFlightSchool = new StackPanel();

            TextBlock txtHeader = new TextBlock();

            txtHeader.Uid = "1001";
            txtHeader.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
            txtHeader.SetResourceReference(TextBlock.BackgroundProperty, "HeaderBackgroundBrush2");
            txtHeader.FontWeight = FontWeights.Bold;
            txtHeader.Text       = Translator.GetInstance().GetString("PanelFlightSchool", txtHeader.Uid);

            panelFlightSchool.Children.Add(txtHeader);

            ListBox lbFSInformation = new ListBox();

            lbFSInformation.SetResourceReference(ListBox.ItemTemplateProperty, "QuickInfoItem");
            lbFSInformation.ItemContainerStyleSelector = new ListBoxItemStyleSelector();

            lbFSInformation.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PanelFlightSchool", "1002"), UICreator.CreateTextBlock(this.FlightSchool.Name)));
            lbFSInformation.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PanelFlightSchool", "1003"), UICreator.CreateTextBlock(this.FlightSchool.NumberOfInstructors.ToString())));

            txtStudents = UICreator.CreateTextBlock(this.FlightSchool.NumberOfStudents.ToString());
            lbFSInformation.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PanelFlightSchool", "1006"), txtStudents));

            txtTrainingAircrafts = UICreator.CreateTextBlock(this.FlightSchool.TrainingAircrafts.Count.ToString());
            lbFSInformation.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PanelFlightSchool", "1009"), txtTrainingAircrafts));

            panelFlightSchool.Children.Add(lbFSInformation);
            panelFlightSchool.Children.Add(createInstructorsPanel());
            panelFlightSchool.Children.Add(createTrainingAircraftsPanel());
            panelFlightSchool.Children.Add(createStudentsPanel());

            panelFlightSchool.Children.Add(createButtonsPanel());

            this.Content = panelFlightSchool;

            showInstructors();
            showStudents();
            showTrainingAircrafts();
        }
Пример #9
0
        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            FlightSchool fs = (FlightSchool)((Button)sender).Tag;

            WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2804"), string.Format(Translator.GetInstance().GetString("MessageBox", "2804", "message"), fs.Name), WPFMessageBoxButtons.YesNo);

            if (result == WPFMessageBoxResult.Yes)
            {
                foreach (Instructor instructor in fs.Instructors)
                {
                    instructor.FlightSchool = null;
                }

                GameObject.GetInstance().HumanAirline.removeFlightSchool(fs);

                showFlightSchools();
            }
        }
Пример #10
0
        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();
            }
        }
Пример #11
0
        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);
            }
        }
Пример #12
0
        private void lnkFlightSchool_Click(object sender, RoutedEventArgs e)
        {
            FlightSchool fs = (FlightSchool)((Hyperlink)sender).Tag;

            panelSideMenu.Content = new PanelFlightSchool(this, fs);
        }
Пример #13
0
 //adds a flight school to the airline
 public void addFlightSchool(FlightSchool school)
 {
     this.FlightSchools.Add(school);
 }