private void btnContract_Click(object sender, RoutedEventArgs e)
        {
            AirportMVVM airport = (AirportMVVM)((Button)sender).Tag;

            Boolean hasCheckin = airport.Airport.getAirportFacility(GameObject.GetInstance().HumanAirline, AirportFacility.FacilityType.CheckIn).TypeLevel > 0;

            int gates = Math.Min(2, airport.Airport.Terminals.NumberOfFreeGates);

            WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2222"), string.Format(Translator.GetInstance().GetString("MessageBox", "2222", "message"), gates, airport.Airport.Profile.Name), WPFMessageBoxButtons.YesNo);

            if (result == WPFMessageBoxResult.Yes)
            {
                if (!hasCheckin)
                {
                    AirportFacility checkinFacility = AirportFacilities.GetFacilities(AirportFacility.FacilityType.CheckIn).Find(f => f.TypeLevel == 1);

                    airport.Airport.addAirportFacility(GameObject.GetInstance().HumanAirline, checkinFacility, GameObject.GetInstance().GameTime);
                    AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Purchases, -checkinFacility.Price);
                }

                double yearlyPayment = AirportHelpers.GetYearlyContractPayment(airport.Airport, gates, 2);

                AirportContract contract = new AirportContract(GameObject.GetInstance().HumanAirline, airport.Airport, GameObject.GetInstance().GameTime, gates, 2, yearlyPayment);

                airport.addAirlineContract(contract);
            }
        }
        private void cbHuman_Checked(object sender, RoutedEventArgs e)
        {
            var source = this.AirportsList.Items as ICollectionView;

            source.Filter = o =>
            {
                AirportMVVM a = o as AirportMVVM;
                return(a != null && a.IsHuman);
            };
        }
        private void cbHuman_Unchecked(object sender, RoutedEventArgs e)
        {
            var source = this.AirportsList.Items as ICollectionView;

            source.Filter = o =>
            {
                AirportMVVM a = o as AirportMVVM;
                return(!a.IsHuman || a.IsHuman);
            };

            cbAirlines.SelectedIndex = 0;
        }
        private void cbAircraft_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            AirlinerType type = (AirlinerType)((ComboBox)sender).SelectedItem;

            if (this.AirportsList != null)
            {
                var source = this.AirportsList.Items as ICollectionView;
                source.Filter = o =>
                {
                    AirportMVVM a = o as AirportMVVM;
                    return(a != null && a.Airport.getMaxRunwayLength() >= type.MinRunwaylength || type.Manufacturer.Name == "Dummy");
                };
            }
        }
        private void cbAirline_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            Airline airline = (Airline)((ComboBox)sender).SelectedItem;

            if (this.AirportsList != null)
            {
                var source = this.AirportsList.Items as ICollectionView;
                source.Filter = o =>
                {
                    AirportMVVM a = o as AirportMVVM;
                    return(a != null && a.Airport.AirlineContracts.Exists(c => c.Airline == airline) || airline.Profile.IATACode == "99");
                };
            }
        }
예제 #6
0
        private void btnContract_Click(object sender, RoutedEventArgs e)
        {
            AirportMVVM airport = (AirportMVVM)((Button)sender).Tag;

            Boolean hasCheckin = airport.Airport.getAirportFacility(GameObject.GetInstance().HumanAirline, AirportFacility.FacilityType.CheckIn).TypeLevel > 0;

            int gates = Math.Min(2, airport.Airport.Terminals.NumberOfFreeGates);

            //WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2222"), string.Format(Translator.GetInstance().GetString("MessageBox", "2222", "message"),gates, airport.Airport.Profile.Name), WPFMessageBoxButtons.YesNo);

            object o = PopUpAirportContract.ShowPopUp(airport.Airport);

            if (o != null)
            {
                AirportContract.ContractType contractType = (AirportContract.ContractType)o;

                if (!hasCheckin && contractType == AirportContract.ContractType.Full)
                {
                    AirportFacility checkinFacility = AirportFacilities.GetFacilities(AirportFacility.FacilityType.CheckIn).Find(f => f.TypeLevel == 1);

                    airport.Airport.addAirportFacility(GameObject.GetInstance().HumanAirline, checkinFacility, GameObject.GetInstance().GameTime);
                    AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Purchases, -checkinFacility.Price);
                }

                //AirportHelpers.RentGates(airport.Airport, GameObject.GetInstance().HumanAirline, contractType, gates, 2);

                double yearlyPayment = AirportHelpers.GetYearlyContractPayment(airport.Airport, contractType, gates, 2);

                AirportContract contract = new AirportContract(GameObject.GetInstance().HumanAirline, airport.Airport, contractType, GameObject.GetInstance().GameTime, gates, 2, yearlyPayment, true);

                airport.addAirlineContract(contract);

                for (int i = 0; i < gates; i++)
                {
                    Gate gate = airport.Airport.Terminals.getGates().Where(g => g.Airline == null).First();
                    gate.Airline = GameObject.GetInstance().HumanAirline;
                }
            }
        }
예제 #7
0
        private void cbSelected_Unchecked(object sender, RoutedEventArgs e)
        {
            AirportMVVM airport = (AirportMVVM)((CheckBox)sender).Tag;

            this.SelectedAirports.Remove(airport);
        }