private void btnLoadConfiguration_Click(object sender, RoutedEventArgs e) { ComboBox cbConfigurations = new ComboBox(); cbConfigurations.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbConfigurations.SelectedValuePath = "Name"; cbConfigurations.DisplayMemberPath = "Name"; cbConfigurations.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbConfigurations.Width = 200; foreach (AirlinerConfiguration confItem in Configurations.GetConfigurations(Configuration.ConfigurationType.Airliner).Where(a => ((AirlinerConfiguration)a).MinimumSeats <= this.Airliner.Airliner.getTotalSeatCapacity() && ((AirlinerConfiguration)a).Classes.Count <= ((AirlinerPassengerType)this.Airliner.Airliner.Type).MaxAirlinerClasses)) { cbConfigurations.Items.Add(confItem); } cbConfigurations.SelectedIndex = 0; if (TheAirline.GraphicsModel.UserControlModel.PopUpWindowsModel.PopUpSingleElement.ShowPopUp(Translator.GetInstance().GetString("PageAirlineWages", "1013"), cbConfigurations) == TheAirline.GraphicsModel.UserControlModel.PopUpWindowsModel.PopUpSingleElement.ButtonSelected.OK && cbConfigurations.SelectedItem != null) { this.Classes.Clear(); AirlinerConfiguration configuration = (AirlinerConfiguration)cbConfigurations.SelectedItem; foreach (AirlinerClassConfiguration aClass in configuration.Classes) { AirlinerClass nClass = new AirlinerClass(aClass.Type, aClass.SeatingCapacity); AirlinerClassMVVM tClass = new AirlinerClassMVVM(nClass, aClass.SeatingCapacity, aClass.RegularSeatingCapacity, aClass.RegularSeatingCapacity); foreach (AirlinerFacility facility in aClass.getFacilities()) { tClass.Facilities.First(f => f.Type == facility.Type).SelectedFacility = facility; } foreach (AirlinerFacility.FacilityType fType in Enum.GetValues(typeof(AirlinerFacility.FacilityType))) { if (!aClass.Facilities.Exists(f => f.Type == fType)) { tClass.Facilities.First(f => f.Type == fType).SelectedFacility = AirlinerFacilities.GetBasicFacility(fType); } } this.Classes.Add(tClass); } int seatingDiff = ((AirlinerPassengerType)this.Airliner.Airliner.Type).MaxSeatingCapacity - configuration.MinimumSeats; AirlinerClassMVVM economyClass = this.Classes.First(c => c.Type == AirlinerClass.ClassType.Economy_Class); economyClass.RegularSeatingCapacity += seatingDiff; AirlinerFacility seatingFacility = economyClass.Facilities.First(f => f.Type == AirlinerFacility.FacilityType.Seat).SelectedFacility; int extraSeats = (int)(seatingDiff / seatingFacility.SeatUses); economyClass.Seating += extraSeats; } }
public PageAirlineEditAirliners(List <FleetAirliner> airliners) { this.Airliners = airliners; this.Loaded += PageAirlineEditAirliners_Loaded; this.DataContext = this.Airliners; this.Classes = new ObservableCollection <AirlinerClassMVVM>(); this.Airliner = getMinimumAirliner(); foreach (AirlinerClass aClass in this.Airliner.Airliner.Classes) { int maxCapacity; if (this.Airliner.Airliner.Type.TypeAirliner == AirlinerType.TypeOfAirliner.Passenger) { maxCapacity = ((AirlinerPassengerType)this.Airliner.Airliner.Type).MaxSeatingCapacity; } else { maxCapacity = 100; } Boolean changeable = this.Airliner.Airliner.Classes.IndexOf(aClass) > 0; int maxSeats; if (this.Airliner.Airliner.Classes.Count == 3) { if (this.Airliner.Airliner.Classes.IndexOf(aClass) == 1) { maxSeats = maxCapacity - 1 - this.Airliner.Airliner.Classes[2].RegularSeatingCapacity; } else { maxSeats = maxCapacity - 1 - this.Airliner.Airliner.Classes[1].RegularSeatingCapacity; } } else { maxSeats = maxCapacity - 1; } AirlinerClassMVVM amClass = new AirlinerClassMVVM(aClass, aClass.SeatingCapacity, aClass.RegularSeatingCapacity, maxSeats, changeable); this.Classes.Add(amClass); } InitializeComponent(); }
private void btnAddClass_Click(object sender, RoutedEventArgs e) { ComboBox cbClasses = new ComboBox(); cbClasses.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbClasses.ItemTemplate = this.Resources["AirlinerClassItem"] as DataTemplate; cbClasses.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; cbClasses.Width = 200; foreach (AirlinerClass.ClassType type in Enum.GetValues(typeof(AirlinerClass.ClassType))) { Boolean hasClass = this.Airliner.Airliner.Airliner.Classes.Exists(c => c.Type == type); if ((int)type <= GameObject.GetInstance().GameTime.Year && !hasClass) { cbClasses.Items.Add(type); } } cbClasses.SelectedIndex = 0; AirlinerClassMVVM tClass = this.Airliner.Classes[0]; if (PopUpSingleElement.ShowPopUp("Select Class to Add", cbClasses) == PopUpSingleElement.ButtonSelected.OK && cbClasses.SelectedItem!=null) { int maxseats = tClass.RegularSeatingCapacity - 1; AirlinerClassMVVM aClass = new AirlinerClassMVVM((AirlinerClass.ClassType)cbClasses.SelectedItem, 1, 1,maxseats,true); foreach (AirlinerFacilityMVVM aFacility in aClass.Facilities) { var facility = AirlinerFacilities.GetBasicFacility(aFacility.Type); aFacility.SelectedFacility = facility; } this.Airliner.Classes.Add(aClass); tClass.RegularSeatingCapacity -= aClass.RegularSeatingCapacity; tClass.Seating = Convert.ToInt16(Convert.ToDouble(tClass.RegularSeatingCapacity) / tClass.Facilities.Find(f=>f.Type == AirlinerFacility.FacilityType.Seat).SelectedFacility.SeatUses); } }
private void btnAddClass_Click(object sender, RoutedEventArgs e) { var cbClasses = new ComboBox(); cbClasses.SetResourceReference(StyleProperty, "ComboBoxTransparentStyle"); cbClasses.ItemTemplate = Resources["AirlinerClassItem"] as DataTemplate; cbClasses.HorizontalAlignment = HorizontalAlignment.Left; cbClasses.Width = 200; foreach (AirlinerClass.ClassType type in Enum.GetValues(typeof(AirlinerClass.ClassType))) { Boolean hasClass = Airliner.Classes.ToList().Exists(c => c.Type == type); if ((int)type <= GameObject.GetInstance().GameTime.Year && !hasClass) { cbClasses.Items.Add(type); } } cbClasses.SelectedIndex = 0; AirlinerClassMVVM tClass = Airliner.Classes[0]; if (PopUpSingleElement.ShowPopUp( Translator.GetInstance().GetString("PageFleetAirlinerInformation", "1011"), cbClasses) == PopUpSingleElement.ButtonSelected.OK && cbClasses.SelectedItem != null) { int maxseats; int maxCapacity; if (Airliner.Airliner.Airliner.Type.TypeAirliner == AirlinerType.TypeOfAirliner.Passenger) { maxCapacity = ((AirlinerPassengerType)Airliner.Airliner.Airliner.Type).MaxSeatingCapacity; } else { maxCapacity = tClass.RegularSeatingCapacity; } if (Airliner.Classes.Count == 2) { maxseats = maxCapacity - 1 - Airliner.Classes[1].RegularSeatingCapacity; } else { maxseats = maxCapacity - 1; } var aClass = new AirlinerClassMVVM( new AirlinerClass((AirlinerClass.ClassType)cbClasses.SelectedItem, 0), 1, 1, maxseats, true); foreach (AirlinerFacilityMVVM aFacility in aClass.Facilities) { AirlinerFacility facility = AirlinerFacilities.GetBasicFacility(aFacility.Type); aFacility.SelectedFacility = facility; } Airliner.Classes.Add(aClass); tClass.RegularSeatingCapacity -= aClass.RegularSeatingCapacity; tClass.Seating = Convert.ToInt16( Convert.ToDouble(tClass.RegularSeatingCapacity) / tClass.Facilities.Where(f => f.Type == AirlinerFacility.FacilityType.Seat) .First() .SelectedFacility.SeatUses); } }