//shows the airliner classes
        private void showAirlinerClasses()
        {
            lbClasses.Items.Clear();

            FreeClasses = new List <AirlinerClass.ClassType>();

            int i = 0;

            foreach (AirlinerClass aClass in this.Classes)
            {
                lbClasses.Items.Add(new AirlinerClassItem(aClass, i == this.Classes.Count - 1 && i > 0));

                i++;
            }

            int maxCapacity = ((AirlinerPassengerType)this.Type).MaxSeatingCapacity;


            foreach (AirlinerClass.ClassType type in Enum.GetValues(typeof(AirlinerClass.ClassType)))
            {
                if (!this.Classes.Exists(c => c.Type == type) && ((int)type <= GameObject.GetInstance().GameTime.Year))
                {
                    FreeClasses.Add(type);
                }
            }

            AirlinerClass.ClassType nextClass = FreeClasses.Count > 0 ?  FreeClasses[0] : AirlinerClass.ClassType.Economy_Class;

            MaxSeats = maxCapacity - this.Classes.Count;

            lblNewClass.Visibility = this.Classes.Count < ((AirlinerPassengerType)this.Type).MaxAirlinerClasses && FreeClasses.Count > 0 ? Visibility.Visible : Visibility.Collapsed;
            lblNewClass.Content    = nextClass;
        }
Exemple #2
0
 public AirlinerClassConfiguration(AirlinerClass.ClassType type, int seating, int regularseating)
 {
     this.SeatingCapacity        = seating;
     this.RegularSeatingCapacity = regularseating;
     this.Type       = type;
     this.Facilities = new List <AirlinerFacility>();
 }
 private void cbClasses_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (((ComboBox)sender).SelectedItem != null)
     {
         this.CurrentClass = (AirlinerClass.ClassType)((ComboBox)sender).SelectedItem;
     }
 }
Exemple #4
0
        //returns the destination passengers for a specific destination for a class
        public ushort getDestinationPassengersRate(Airport destination, AirlinerClass.ClassType type)
        {
            DestinationDemand pax = this.DestinationPassengers.Find(a => a.Destination == destination.Profile.IATACode);

            var values = Enum.GetValues(typeof(AirlinerClass.ClassType));

            int classFactor = 0;

            int i = 1;

            foreach (AirlinerClass.ClassType value in values)
            {
                if (value == type)
                {
                    classFactor = i;
                }
                i++;
            }

            if (pax == null)
            {
                return(this.Statics.getDestinationPassengersRate(destination, type));
            }
            else
            {
                return((ushort)(this.Statics.getDestinationPassengersRate(destination, type) + (ushort)(pax.Rate / classFactor)));
            }
        }
Exemple #5
0
        //public int CabinCrew { get; set; }

        public RouteAirlinerClass(AirlinerClass.ClassType type, SeatingType seating, double fareprice)
        {
            this.Facilities = new List <RouteFacility>();
            this.FarePrice  = fareprice;
            this.Seating    = seating;
            this.Type       = type;
        }
Exemple #6
0
 //returns the airliner class for the airliner
 public AirlinerClass getAirlinerClass(AirlinerClass.ClassType type)
 {
     if (this.Classes.Exists(c => c.Type == type))
     {
         return(this.Classes.Find(c => c.Type == type));
     }
     else
     {
         return(this.Classes[0]);
     }
 }
Exemple #7
0
 //converts airliner class type to a price factor
 public static int ClassToPriceFactor(AirlinerClass.ClassType type)
 {
     if (type == AirlinerClass.ClassType.Business_Class)
     {
         return(3);
     }
     if (type == AirlinerClass.ClassType.Economy_Class)
     {
         return(1);
     }
     if (type == AirlinerClass.ClassType.First_Class)
     {
         return(6);
     }
     return(1);
 }
Exemple #8
0
        private void cbFacility_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            RouteFacility facility = (RouteFacility)((ComboBox)sender).SelectedItem;

            AirlinerClass.ClassType classType = (AirlinerClass.ClassType)((ComboBox)sender).Tag;

            if (!this.Facilities.ContainsKey(classType))
            {
                this.Facilities.Add(classType, new List <RouteFacility>());
            }
            else
            if (this.Facilities[classType].Exists(r => r.Type == facility.Type))
            {
                this.Facilities[classType].RemoveAll(r => r.Type == facility.Type);
            }

            this.Facilities[classType].Add(facility);
        }
Exemple #9
0
        public AirlinerClassMVVM(AirlinerClass.ClassType type, int seating, Boolean canDelete)
        {
            this.CanDelete      = canDelete;
            this.Type           = type;
            this.Seating        = seating;
            this.RegularSeating = seating;
            this.Facilities     = new ObservableCollection <AirlinerClassFacilityMVVM>();

            foreach (AirlinerFacility.FacilityType facType in Enum.GetValues(typeof(AirlinerFacility.FacilityType)))
            {
                AirlinerClassFacilityMVVM facility = new AirlinerClassFacilityMVVM(facType);

                foreach (AirlinerFacility fac in AirlinerFacilities.GetFacilities(facType))
                {
                    facility.Facilities.Add(fac);
                }


                this.Facilities.Add(facility);
            }
        }
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            int seating = Math.Min(5, this.Classes[0].Seating - 1);


            // chs, 2011-11-10 added so seat capacity is correctly calculated
            this.Classes[0].Seating        -= seating;
            this.Classes[0].RegularSeating -= seating;
            this.Classes[0].MaxSeats       -= seating;

            AirlinerClass.ClassType nextType = AirlinerClass.ClassType.Economy_Class;

            foreach (AirlinerClass.ClassType type in Enum.GetValues(typeof(AirlinerClass.ClassType)))
            {
                if (!this.Classes.ToList().Exists(c => c.Type == type) && ((int)type <= GameObject.GetInstance().GameTime.Year))
                {
                    nextType = type;
                }
            }

            int maxseats = this.Classes[0].RegularSeating - 1;

            AirlinerClassMVVM newClass = new AirlinerClassMVVM(nextType, seating, maxseats, true);

            this.Classes.Add(newClass);

            this.CanAddNewClass = this.Classes.Count < ((AirlinerPassengerType)this.Type).MaxAirlinerClasses;

            if (this.Classes.Count < 3)
            {
                this.FreeClassTypes.Clear();
                this.FreeClassTypes.Add(AirlinerClass.ClassType.Business_Class);
                this.FreeClassTypes.Add(AirlinerClass.ClassType.First_Class);
            }
            else
            {
                this.FreeClassTypes.Clear();
            }
        }
        public AirlinerClassMVVM(AirlinerClass.ClassType type, int seating, int regularSeating, int maxseats, Boolean changeableSeats = false)
        {
            this.Type    = type;
            this.Seating = seating;
            this.RegularSeatingCapacity = regularSeating;
            this.ChangeableSeats        = changeableSeats;
            this.MaxSeats         = maxseats;
            this.MaxSeatsCapacity = maxseats;

            this.Facilities = new ObservableCollection <AirlinerFacilityMVVM>();

            foreach (AirlinerFacility.FacilityType facType in Enum.GetValues(typeof(AirlinerFacility.FacilityType)))
            {
                AirlinerFacilityMVVM facility = new AirlinerFacilityMVVM(facType, this);

                foreach (AirlinerFacility fac in AirlinerFacilities.GetFacilities(facType))
                {
                    facility.Facilities.Add(fac);
                }

                this.Facilities.Add(facility);
            }
        }
Exemple #12
0
        private void btnEdit_Click(object sender, RoutedEventArgs e)
        {
            AirlinerClass.ClassType type   = (AirlinerClass.ClassType)((Button)sender).Tag;
            RouteAirlinerClass      aClass = (RouteAirlinerClass)PopUpRouteFacilities.ShowPopUp(this.Classes[type]);

            if (aClass != null)
            {
                double rate = 1;

                if (GameObject.GetInstance().CurrencyCountry != null)
                {
                    CountryCurrency currency = GameObject.GetInstance().CurrencyCountry.getCurrency(GameObject.GetInstance().GameTime);
                    rate = currency == null ? 1 : currency.Rate;
                }

                this.Classes[type].FarePrice = aClass.FarePrice / rate;
                this.Classes[type].Seating   = aClass.Seating;

                foreach (RouteFacility facility in aClass.getFacilities())
                {
                    this.Classes[type].addFacility(facility);
                }
            }
        }
Exemple #13
0
        //public int CabinCrew { get; set; }

        public MVVMRouteClass(AirlinerClass.ClassType type, RouteAirlinerClass.SeatingType seating, double fareprice)
        {
            this.Type      = type;
            this.Seating   = seating;
            this.FarePrice = fareprice;

            this.Facilities = new List <MVVMRouteFacility>();

            foreach (RouteFacility.FacilityType facType in Enum.GetValues(typeof(RouteFacility.FacilityType)))
            {
                if (GameObject.GetInstance().GameTime.Year >= (int)facType)
                {
                    MVVMRouteFacility facility = new MVVMRouteFacility(facType);

                    foreach (RouteFacility fac in RouteFacilities.GetFacilities(facType))
                    {
                        facility.Facilities.Add(fac);
                    }


                    this.Facilities.Add(facility);
                }
            }
        }
Exemple #14
0
        public AirlineClassMVVM(AirlinerClass.ClassType type)
        {
            this.Type = type;

            this.Facilities = new List <AirlineClassFacilityMVVM>();
        }
 public RouteClassConfiguration(AirlinerClass.ClassType type)
 {
     this.Type       = type;
     this.Facilities = new List <RouteFacility>();
 }
Exemple #16
0
 //returns the flight airliner class for a specific class type
 public FlightAirlinerClass getFlightAirlinerClass(AirlinerClass.ClassType type)
 {
     return(this.Classes.Find(c => c.AirlinerClass.Type == type));
 }
Exemple #17
0
 //returns the service level for a specific class
 public double getServiceLevel(AirlinerClass.ClassType type)
 {
     return(this.Classes.Find(c => c.Type == type).getFacilities().Sum(f => f.ServiceLevel));
 }
Exemple #18
0
 //returns the route airliner class for a specific class type
 public RouteAirlinerClass getRouteAirlinerClass(AirlinerClass.ClassType type)
 {
     return(this.Classes.Find(cl => cl.Type == type));
 }
Exemple #19
0
 //returns the price for a specific class
 public double getFarePrice(AirlinerClass.ClassType type)
 {
     return(this.Classes.Find(c => c.Type == type).FarePrice);
 }
 private void cbClasses_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (((ComboBox)sender).SelectedItem!=null)
         this.CurrentClass = (AirlinerClass.ClassType)((ComboBox)sender).SelectedItem;
 }
Exemple #21
0
        public AirlineClassMVVM(AirlinerClass.ClassType type)
        {
            this.Type = type;

            this.Facilities = new List<AirlineClassFacilityMVVM>();


        }