private void ButtonAdd_Click(object sender, RoutedEventArgs e)
        {
            int seating = (int)((Button)sender).Tag;

            AirlinerClass aClass = new AirlinerClass(this.CurrentClass, seating);

            aClass.forceSetFacility(this.Classes[0].getFacility(AirlinerFacility.FacilityType.Audio));
            aClass.forceSetFacility(this.Classes[0].getFacility(AirlinerFacility.FacilityType.Seat));
            aClass.forceSetFacility(this.Classes[0].getFacility(AirlinerFacility.FacilityType.Video));

            this.Classes.Add(aClass);

            // chs, 2011-11-10 added so seat capacity is correctly calculated
            this.Classes[0].SeatingCapacity        -= aClass.SeatingCapacity;
            this.Classes[0].RegularSeatingCapacity -= aClass.SeatingCapacity;

            showAirlinerClasses();
        }
        private void btnSaveChanges_Click(object sender, RoutedEventArgs e)
        {
            this.Airliner.Airliner.Airliner.clearAirlinerClasses();

            foreach (AirlinerClassMVVM aClass in this.Airliner.Classes)
            {
                AirlinerClass nClass = new AirlinerClass(aClass.Type, aClass.RegularSeatingCapacity);
                nClass.SeatingCapacity = aClass.Seating;

                foreach (AirlinerFacilityMVVM aFacility in aClass.Facilities)
                {
                    nClass.forceSetFacility(aFacility.SelectedFacility);
                }

                this.Airliner.Airliner.Airliner.addAirlinerClass(nClass);
            }
        }
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            List <AirlinerClass> classes = new List <AirlinerClass>();

            foreach (AirlinerClassMVVM mvvmClass in this.Classes)
            {
                AirlinerClass aClass = new AirlinerClass(mvvmClass.Type, mvvmClass.Seating);

                foreach (AirlinerClassFacilityMVVM facility in mvvmClass.Facilities)
                {
                    aClass.forceSetFacility(facility.SelectedFacility);
                }

                classes.Add(aClass);
            }

            this.Selected = classes;
            this.Close();
        }
        private void btnApply_Click(object sender, RoutedEventArgs e)
        {
            WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2128"), string.Format(Translator.GetInstance().GetString("MessageBox", "2128", "message")), WPFMessageBoxButtons.YesNo);

            if (result == WPFMessageBoxResult.Yes)
            {
                foreach (FleetAirliner airliner in this.Airliners)
                {
                    airliner.Airliner.clearAirlinerClasses();

                    foreach (AirlinerClassMVVM aClass in this.Classes)
                    {
                        AirlinerClass newClass = new AirlinerClass(aClass.Type, aClass.Seating);

                        airliner.Airliner.addAirlinerClass(newClass);

                        foreach (AirlinerFacilityMVVM facility in aClass.Facilities)
                        {
                            newClass.forceSetFacility(facility.SelectedFacility);
                        }
                    }

                    int totalSeats = this.Classes.Sum(c => c.RegularSeatingCapacity);

                    int seatingDiff = ((AirlinerPassengerType)airliner.Airliner.Type).MaxSeatingCapacity - totalSeats;

                    AirlinerClass economyClass = airliner.Airliner.Classes.Find(c => c.Type == AirlinerClass.ClassType.Economy_Class);
                    economyClass.RegularSeatingCapacity += seatingDiff;

                    AirlinerFacility seatingFacility = economyClass.getFacility(AirlinerFacility.FacilityType.Seat);

                    int extraSeats = (int)(seatingDiff / seatingFacility.SeatUses);

                    economyClass.SeatingCapacity += extraSeats;
                }
            }
        }