//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; }
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; } }
//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))); } }
//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; }
//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]); } }
//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); }
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); }
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); } }
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); } } }
//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); } } }
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>(); }
//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)); }
//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)); }
//returns the route airliner class for a specific class type public RouteAirlinerClass getRouteAirlinerClass(AirlinerClass.ClassType type) { return(this.Classes.Find(cl => cl.Type == type)); }
//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; }
public AirlineClassMVVM(AirlinerClass.ClassType type) { this.Type = type; this.Facilities = new List<AirlineClassFacilityMVVM>(); }