private void btnDemandContract_Click(object sender, RoutedEventArgs e) { DemandMVVM demand = (DemandMVVM)((Button)sender).Tag; Airport airport = demand.Destination; Boolean hasCheckin = airport.getAirportFacility(GameObject.GetInstance().HumanAirline, AirportFacility.FacilityType.CheckIn).TypeLevel > 0; int gates = Math.Min(2, airport.Terminals.NumberOfFreeGates); WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2222"), string.Format(Translator.GetInstance().GetString("MessageBox", "2222", "message"), gates, airport.Profile.Name), WPFMessageBoxButtons.YesNo); if (result == WPFMessageBoxResult.Yes) { if (!hasCheckin) { AirportFacility checkinFacility = AirportFacilities.GetFacilities(AirportFacility.FacilityType.CheckIn).Find(f => f.TypeLevel == 1); 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, gates, 2); AirportContract contract = new AirportContract(GameObject.GetInstance().HumanAirline, airport, GameObject.GetInstance().GameTime, gates, 2, yearlyPayment); airport.addAirlineContract(contract); demand.Contracted = true; } }
private void txtSearch_TextChanged(object sender, TextChangedEventArgs e) { string searchText = ((TextBox)e.Source).Text.ToUpper(); var source = lvDemand.Items as ICollectionView; source.Filter = o => { if (o != null) { DemandMVVM a = o as DemandMVVM; return(a != null && a.Destination.Profile.IATACode.ToUpper().StartsWith(searchText) || a.Destination.Profile.ICAOCode.ToUpper().StartsWith(searchText) || a.Destination.Profile.Name.ToUpper().StartsWith(searchText)); } else { return(false); } }; }
private void btnDemandInfo_Click(object sender, RoutedEventArgs e) { var airport = (DemandMVVM)((Button)sender).Tag; SelectedAirport = airport; var demandPercent = new List<KeyValuePair<string, int>>(); int intlDemand = Airport.IntlDemands.Sum(d => d.Passengers) + Airport.IntlDemands.Sum(d => d.Cargo); int domesticDemand = Airport.DomesticDemands.Sum(d => d.Passengers) + Airport.DomesticDemands.Sum(d => d.Cargo); demandPercent.Add(new KeyValuePair<string,int>(Translator.GetInstance().GetString("PageAirportInfo", "1029"),domesticDemand)); demandPercent.Add(new KeyValuePair<string,int>(Translator.GetInstance().GetString("PageAirportInfo", "1057"),intlDemand)); pcDemand.DataContext = demandPercent; pcGates.DataContext = SelectedAirport.GatesPercent; var demands = new List<KeyValuePair<string,int>>(); demands.Add(new KeyValuePair<string, int>(Translator.GetInstance().GetString("PageAirportInfo", "1031"), SelectedAirport.Passengers)); demands.Add(new KeyValuePair<string, int>(Translator.GetInstance().GetString("PageAirportInfo", "1032"), SelectedAirport.Cargo)); var demands2 = new List<KeyValuePair<string, int>>(); demands2.Add(new KeyValuePair<string, int>(Translator.GetInstance().GetString("PageAirportInfo", "1031"), SelectedAirport.Destination.GetDestinationPassengersRate(Airport.Airport, AirlinerClass.ClassType.EconomyClass))); demands2.Add(new KeyValuePair<string, int>(Translator.GetInstance().GetString("PageAirportInfo", "1032"), SelectedAirport.Destination.GetDestinationCargoRate(Airport.Airport))); var demandSeries = new List<SeriesData>(); string displayName1 = string.Format("{0}-{1}", new AirportCodeConverter().Convert(Airport.Airport), new AirportCodeConverter().Convert(SelectedAirport.Destination)); string displayName2 = string.Format("{1}-{0}", new AirportCodeConverter().Convert(Airport.Airport), new AirportCodeConverter().Convert(SelectedAirport.Destination)); demandSeries.Add(new SeriesData { DisplayName = displayName1, Items = demands }); demandSeries.Add(new SeriesData { DisplayName = displayName2, Items = demands2 }); cccDemand.DataContext = demandSeries; var routes = new List<KeyValuePair<string,int>>(); var airlines = SelectedAirport.Destination.AirlineContracts.Select(a=>a.Airline).Distinct(); foreach (Airline airline in airlines) { int airlineSeats = airline.Routes.Where(r=>r.Destination1 == SelectedAirport.Destination || r.Destination2 == SelectedAirport.Destination).Sum(r=>r.TimeTable.Entries.Sum(en=>en.Airliner.Airliner.GetTotalSeatCapacity())); routes.Add(new KeyValuePair<string,int>(airline.Profile.Name,airlineSeats / 7)); } if (routes.Count == 0) routes.Add(new KeyValuePair<string, int>("None", 0)); pcSeats.DataContext = routes; }