コード例 #1
0
 public DestinationFlight(Airline airline, RouteTimeTableEntry entry, DateTime time)
 {
     this.Airline      = airline;
     this.Entry        = entry;
     this.Time         = time;
     this.AirlinerType = this.Entry.Airliner.Airliner.Type;
 }
コード例 #2
0
ファイル: AirlinerHelpers.cs プロジェクト: petfol/tap-desktop
        /*! create a random airliner with a minimum range.
         */
        private static Airliner CreateAirliner(double minRange)
        {
            Guid id = Guid.NewGuid();

            List <AirlinerType> types = AirlinerTypes.GetTypes(delegate(AirlinerType t) { return(t.Range >= minRange && t.Produced.From.Year < GameObject.GetInstance().GameTime.Year&& t.Produced.To > GameObject.GetInstance().GameTime.AddYears(-30)); });

            int          typeNumber = rnd.Next(types.Count);
            AirlinerType type       = types[typeNumber];

            int     countryNumber = rnd.Next(Countries.GetCountries().Count() - 1);
            Country country       = Countries.GetCountries()[countryNumber];

            int builtYear = rnd.Next(Math.Max(type.Produced.From.Year, GameObject.GetInstance().GameTime.Year - 30), Math.Min(GameObject.GetInstance().GameTime.Year - 1, type.Produced.To.Year));

            Airliner airliner = new Airliner(id.ToString(), type, country.TailNumbers.getNextTailNumber(), new DateTime(builtYear, 1, 1));

            if (airliner.TailNumber.Length < 2)
            {
                typeNumber = 0;
            }

            int age = MathHelpers.CalculateAge(airliner.BuiltDate, GameObject.GetInstance().GameTime);

            long kmPerYear = rnd.Next(100000, 1000000);
            long km        = kmPerYear * age;

            airliner.Flown = km;

            CreateAirlinerClasses(airliner);

            return(airliner);
        }
コード例 #3
0
        private void cbAirliner_Checked(object sender, RoutedEventArgs e)
        {
            int maxNumberOfAirliners = this.AirlineFacility.ServiceLevel;

            FleetAirliner airliner = (FleetAirliner)((CheckBox)sender).Tag;

            if (this.AirlinersToMaintain.Count == 0 || (this.AirlinersToMaintain.Exists(a => a.Airliner.Type == airliner.Airliner.Type) && this.AirlinersToMaintain.Count + 1 <= maxNumberOfAirliners))
            {
                this.AirlinersToMaintain.Add(airliner);

                AirlinerType type = this.AirlinersToMaintain[0].Airliner.Type;
                if (this.Classes == null || this.Classes.Count == 0)
                {
                    AirlinerClass eClass = new AirlinerClass(AirlinerClass.ClassType.Economy_Class, ((AirlinerPassengerType)type).MaxSeatingCapacity);
                    eClass.createBasicFacilities(null);
                    this.Classes.Add(eClass);

                    showClasses();
                }

                btnEquipped.IsEnabled = true;
                btnApply.IsEnabled    = true;
            }
            else
            {
                if (this.AirlinersToMaintain.Count == maxNumberOfAirliners)
                {
                    WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2901"), string.Format(Translator.GetInstance().GetString("MessageBox", "2901", "message"), maxNumberOfAirliners), WPFMessageBoxButtons.Ok);
                }

                ((CheckBox)sender).IsChecked = false;
            }
        }
コード例 #4
0
        private void link_Click(object sender, RoutedEventArgs e)
        {
            AirlinerType type = this.AirlinersToMaintain[0].Airliner.Type;

            if (this.Classes == null)
            {
                AirlinerClass eClass = new AirlinerClass(AirlinerClass.ClassType.Economy_Class, ((AirlinerPassengerType)type).MaxSeatingCapacity);
                eClass.createBasicFacilities(null);
                this.Classes.Add(eClass);
            }

            AirlinerClass aClass = (AirlinerClass)((Hyperlink)sender).Tag;

            AirlinerClass newClass = (AirlinerClass)PopUpAirlinerClassConfiguration.ShowPopUp(aClass);

            AirlinerClass economyClass = this.Classes.Find(c => c.Type == AirlinerClass.ClassType.Economy_Class);

            if (newClass != null)
            {
                AirlinerClass airlinerClass = new AirlinerClass(newClass.Type, newClass.SeatingCapacity);
                airlinerClass.RegularSeatingCapacity = newClass.RegularSeatingCapacity;

                int seatingDiff = ((AirlinerPassengerType)type).MaxSeatingCapacity;

                economyClass.RegularSeatingCapacity += seatingDiff;

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

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

                economyClass.SeatingCapacity += extraSeats;
            }
        }
コード例 #5
0
 public ScenarioAirlineRoute(Airport destination1, Airport destination2, AirlinerType airlinertype, int quantity)
 {
     this.Destination1 = destination1;
     this.Destination2 = destination2;
     this.AirlinerType = airlinertype;
     this.Quantity     = quantity;
 }
コード例 #6
0
        public AirlinerOrderMVVM(AirlinerType type, AirlinerOrdersMVVM order, int amount = 1)
        {
            this.Type      = type;
            this.Order     = order;
            this.Amount    = amount;
            this._classes  = new List <AirlinerClass>();
            this.Homebases = new List <Airport>();

            if (this.Type.TypeAirliner == AirlinerType.TypeOfAirliner.Passenger)
            {
                AirlinerClass eClass = new AirlinerClass(AirlinerClass.ClassType.Economy_Class, ((AirlinerPassengerType)type).MaxSeatingCapacity);
                eClass.createBasicFacilities(null);
                this.Classes.Add(eClass);
            }

            long minRunway = this.Type.MinRunwaylength;

            //var homebases = GameObject.GetInstance().HumanAirline.Airports.FindAll(a => (a.hasContractType(GameObject.GetInstance().HumanAirline, AirportContract.ContractType.Full_Service) || a.getCurrentAirportFacility(GameObject.GetInstance().HumanAirline, AirportFacility.FacilityType.Service).TypeLevel > 0) && a.getMaxRunwayLength() >= minRunway);

            var homebases = AirlineHelpers.GetHomebases(GameObject.GetInstance().HumanAirline, minRunway);

            foreach (var homebase in homebases)
            {
                this.Homebases.Add(homebase);
            }
        }
コード例 #7
0
ファイル: AirlinerHelpers.cs プロジェクト: petfol/tap-desktop
        /*!creates an airliner from a specific year
         */
        public static Airliner CreateAirlinerFromYear(int year)
        {
            Guid id = Guid.NewGuid();

            List <AirlinerType> types = AirlinerTypes.GetTypes(t => t.Produced.From.Year <year && t.Produced.To.Year> year);

            int          typeNumber = rnd.Next(types.Count);
            AirlinerType type       = types[typeNumber];

            int     countryNumber = rnd.Next(Countries.GetCountries().Count() - 1);
            Country country       = Countries.GetCountries()[countryNumber];

            int builtYear = year;

            Airliner airliner = new Airliner(id.ToString(), type, country.TailNumbers.getNextTailNumber(), new DateTime(builtYear, 1, 1));

            int age = MathHelpers.CalculateAge(airliner.BuiltDate, GameObject.GetInstance().GameTime);

            long kmPerYear = rnd.Next(1000, 100000);
            long km        = kmPerYear * age;

            airliner.Flown = km;

            CreateAirlinerClasses(airliner);

            return(airliner);
        }
コード例 #8
0
        private void btnAddOrder_Click(object sender, RoutedEventArgs e)
        {
            AirlinerType type = (AirlinerType)cbTypes.SelectedItem;

            int number = Convert.ToInt16(nudAirliners.Value);

            WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2012"), string.Format(Translator.GetInstance().GetString("MessageBox", "2012", "message"), number, type.Name, this.Classes.Count), WPFMessageBoxButtons.YesNo);

            if (result == WPFMessageBoxResult.Yes)
            {
                this.orders.Add(new AirlinerOrder(type, this.Classes, number, customConfiguration));

                showOrders();

                DateTime firstDeliveryDate = getDeliveryDate();

                dpDate.DisplayDate  = dpDate.DisplayDate > firstDeliveryDate ? dpDate.DisplayDate : firstDeliveryDate;
                dpDate.SelectedDate = dpDate.SelectedDate > firstDeliveryDate ? dpDate.SelectedDate : firstDeliveryDate;

                dpDate.BlackoutDates.Clear();

                for (int i = 1; i < firstDeliveryDate.Day; i++)
                {
                    dpDate.BlackoutDates.Add(new CalendarDateRange(new DateTime(firstDeliveryDate.Year, firstDeliveryDate.Month, i)));
                }
            }
        }
コード例 #9
0
        private void cbStandardConfiguration_Checked(object sender, RoutedEventArgs e)
        {
            btnEquipped.IsEnabled           = false;
            btnApplyConfiguration.IsEnabled = false;
            AirlinerType type = (AirlinerType)((CheckBox)sender).Tag;

            Configuration airlinerTypeConfiguration = Configurations.GetConfigurations(Configuration.ConfigurationType.AirlinerType).Find(c => ((AirlinerTypeConfiguration)c).Airliner == type && ((AirlinerTypeConfiguration)c).Period.From <= GameObject.GetInstance().GameTime&& ((AirlinerTypeConfiguration)c).Period.To > GameObject.GetInstance().GameTime);

            List <AirlinerClass> classes = new List <AirlinerClass>();

            foreach (AirlinerClassConfiguration aClass in ((AirlinerTypeConfiguration)airlinerTypeConfiguration).Classes)
            {
                AirlinerClass airlinerClass = new AirlinerClass(aClass.Type, aClass.SeatingCapacity);
                airlinerClass.RegularSeatingCapacity = aClass.RegularSeatingCapacity;

                foreach (AirlinerFacility facility in aClass.getFacilities())
                {
                    airlinerClass.setFacility(GameObject.GetInstance().HumanAirline, facility);
                }

                classes.Add(airlinerClass);
            }

            if (classes != null)
            {
                this.Classes = classes;

                panelClasses.Children.Clear();

                foreach (AirlinerClass aClass in this.Classes)
                {
                    panelClasses.Children.Add(createAirlineClassLink(aClass));
                }
            }
        }
コード例 #10
0
        public PopUpAirlinerSeatsConfiguration(AirlinerType type, List <AirlinerClass> classes)
        {
            this.FreeClassTypes = new ObservableCollection <AirlinerClass.ClassType>();
            this.Classes        = new ObservableCollection <AirlinerClassMVVM>();
            this.Type           = type;

            AirlinerClass economyClass = classes.Find(c => c.Type == AirlinerClass.ClassType.Economy_Class);

            foreach (AirlinerClass aClass in classes)
            {
                int maxseats             = aClass.Type == AirlinerClass.ClassType.Economy_Class ? aClass.SeatingCapacity : economyClass.RegularSeatingCapacity - 1;
                AirlinerClassMVVM nClass = new AirlinerClassMVVM(aClass.Type, aClass.SeatingCapacity, maxseats, aClass.Type != AirlinerClass.ClassType.Economy_Class);
                this.Classes.Add(nClass);

                foreach (AirlinerFacility facility in aClass.getFacilities())
                {
                    nClass.Facilities.Where(f => f.Type == facility.Type).First().SelectedFacility = facility;
                }
            }

            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);
            }

            InitializeComponent();
        }
コード例 #11
0
        public static object ShowPopUp(AirlinerType type, List <AirlinerClass> classes)
        {
            PopUpWindow window = new PopUpAirlinerSeatsConfiguration(type, classes);

            window.ShowDialog();

            return(window.Selected);
        }
コード例 #12
0
        private void nudAirliners_ValueChanged(object sender, RoutedPropertyChangedEventArgs <decimal> e)
        {
            AirlinerType type = (AirlinerType)cbTypes.SelectedItem;

            int number = Convert.ToInt16(nudAirliners.Value);

            txtPrice.Text = new ValueCurrencyConverter().Convert(type.Price * number).ToString(); //txtPrice.Text = string.Format("{0:C}", type.Price * number);
        }
コード例 #13
0
        public PopUpAirlinerConfiguration(AirlinerType type, List <AirlinerClass> classes)
        {
            this.Classes = new List <AirlinerClass>(classes);

            this.Type = type;

            createPopUp();
        }
コード例 #14
0
        private void btnEquipped_Click(object sender, RoutedEventArgs e)
        {
            AirlinerType type = this.AirlinersToMaintain[0].Airliner.Type;

            List <AirlinerClass> classes = (List <AirlinerClass>)PopUpAirlinerConfiguration.ShowPopUp(type, this.Classes);

            if (classes != null)
            {
                this.Classes = classes;

                showClasses();
            }
        }
コード例 #15
0
        public PopUpAirlinerConfiguration(Airliner airliner)
        {
            this.Classes = new List <AirlinerClass>();

            foreach (AirlinerClass aClass in airliner.Classes)
            {
                this.Classes.Add(aClass);
            }

            this.Type = airliner.Type;

            createPopUp();
        }
コード例 #16
0
        private void cbAircraft_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            AirlinerType type = (AirlinerType)((ComboBox)sender).SelectedItem;

            if (this.AirportsList != null)
            {
                var source = this.AirportsList.Items as ICollectionView;
                source.Filter = o =>
                {
                    AirportMVVM a = o as AirportMVVM;
                    return(a != null && a.Airport.getMaxRunwayLength() >= type.MinRunwaylength || type.Manufacturer.Name == "Dummy");
                };
            }
        }
コード例 #17
0
        private void cbAircraft_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            AirlinerType type = (AirlinerType)((ComboBox)sender).SelectedItem;

            if (cbDestination2.ItemsSource != null && cbDestination1.SelectedItem != null)
            {
                var source = cbDestination2.Items as ICollectionView;
                source.Filter = o =>
                {
                    Airport a = o as Airport;
                    return(a != null && a.getMaxRunwayLength() >= type.MinRunwaylength && MathHelpers.GetDistance((Airport)cbDestination1.SelectedItem, a) <= type.Range || type.Manufacturer.Name == "Dummy");
                };
            }
        }
コード例 #18
0
ファイル: Route.cs プロジェクト: petfol/tap-desktop
        //returns the flight time for the route for a specific airliner type
        public TimeSpan getFlightTime(AirlinerType type)
        {
            if (this.HasStopovers)
            {
                double totalMinutes  = this.Stopovers.SelectMany(s => s.Legs).Sum(l => l.getFlightTime(type).TotalMinutes);
                double totalRestTime = FleetAirlinerHelpers.GetMinTimeBetweenFlights(type).TotalMinutes *(this.Stopovers.SelectMany(s => s.Legs).Count() - 1);
                int    time          = (int)(totalRestTime + totalMinutes);

                return(new TimeSpan(0, time, 0));
            }
            else
            {
                return(MathHelpers.GetFlightTime(this.Destination1, this.Destination2, type));
            }
        }
コード例 #19
0
        public RoutePlannerItemMVVM(Route route, AirlinerType type)
        {
            this.Route = route;

            Guid g2 = new Guid(this.Route.Id);

            byte[] bytes = g2.ToByteArray();

            byte red   = bytes[0];
            byte green = bytes[1];
            byte blue  = bytes[2];

            SolidColorBrush brush = new SolidColorBrush(Color.FromRgb(red, green, blue));

            brush.Opacity = 0.4;

            this.Brush      = brush;
            this.FlightTime = MathHelpers.GetFlightTime(this.Route.Destination1, this.Route.Destination2, type);
        }
コード例 #20
0
        private void btnEquipped_Click(object sender, RoutedEventArgs e)
        {
            AirlinerType type = (AirlinerType)((Button)sender).Tag;

            List <AirlinerClass> classes = (List <AirlinerClass>)PopUpAirlinerConfiguration.ShowPopUp(type, this.Classes);

            if (classes != null)
            {
                this.customConfiguration = true;

                this.Classes = classes;

                panelClasses.Children.Clear();

                foreach (AirlinerClass aClass in this.Classes)
                {
                    panelClasses.Children.Add(createAirlineClassLink(aClass));
                }
            }
        }
コード例 #21
0
        private void cbTypes_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            AirlinerType type = (AirlinerType)cbTypes.SelectedItem;

            if (type != null)
            {
                int number = Convert.ToInt16(nudAirliners.Value);

                txtPrice.Text = new ValueCurrencyConverter().Convert(type.Price * number).ToString();//string.Format("{0:C}", type.Price * number);

                StackPanel panelType = new StackPanel();
                panelType.Children.Add(PanelAirliner.createQuickInfoPanel(type));

                if (type is AirlinerPassengerType)
                {
                    panelType.Children.Add(createEquippedPanel(type));
                }

                frameAirlinerInfo.Content = panelType;
            }
        }
コード例 #22
0
        public AirlinerOrderMVVM(AirlinerType type, int amount = 1)
        {
            this.Type      = type;
            this.Amount    = amount;
            this.Classes   = new List <AirlinerClass>();
            this.Homebases = new List <Airport>();

            if (this.Type.TypeAirliner == AirlinerType.TypeOfAirliner.Passenger)
            {
                AirlinerClass eClass = new AirlinerClass(AirlinerClass.ClassType.Economy_Class, ((AirlinerPassengerType)type).MaxSeatingCapacity);
                eClass.createBasicFacilities(null);
                this.Classes.Add(eClass);
            }

            long minRequiredRunway = this.Type.MinRunwaylength;

            foreach (var homebase in GameObject.GetInstance().HumanAirline.Airports.FindAll(a => a.getCurrentAirportFacility(GameObject.GetInstance().HumanAirline, AirportFacility.FacilityType.Service).TypeLevel > 0 && a.getMaxRunwayLength() >= minRequiredRunway))
            {
                this.Homebases.Add(homebase);
            }
        }
コード例 #23
0
        public PopUpAirlinerImage(AirlinerType type)
        {
            this.Type = type;

            InitializeComponent();

            this.Width = 700;

            this.Height = 260;
            this.Title  = type.Name;

            this.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;

            Image imgMap = new Image();

            imgMap.Width  = 700;
            imgMap.Height = 240;
            imgMap.Source = new BitmapImage(new Uri(this.Type.Image, UriKind.RelativeOrAbsolute));
            RenderOptions.SetBitmapScalingMode(imgMap, BitmapScalingMode.HighQuality);

            this.Content = imgMap;
        }
コード例 #24
0
        //returns the flight time for a given airliner type between two coordinates
        public static TimeSpan GetFlightTime(GeoCoordinate coordinate1, GeoCoordinate coordinate2, AirlinerType type)
        {
            double dist = GetDistance(coordinate1, coordinate2);

            if (dist == 0)
            {
                return(new TimeSpan(0, 0, 0));
            }

            double speed = type.CruisingSpeed;


            double dtime = dist / speed;

            int hours = Convert.ToInt16(Math.Floor(dtime));

            double dMinutes = (dtime - hours) * 60;

            int minutes = Convert.ToInt16(Math.Floor(dMinutes));

            //2.5 minutes for takeoff and 2.5 minutes for landing
            minutes += 5;

            return(new TimeSpan(hours, minutes, 0));
        }
コード例 #25
0
ファイル: AirlineProfile.cs プロジェクト: petfol/tap-desktop
 //adds a prefered aircraft type to the airline
 public void addPreferedAircraft(AirlinerType type)
 {
     this.PreferedAircrafts.Add(type);
 }
コード例 #26
0
 //adds an airliner type with a quantity to the scenario
 public void addFleet(AirlinerType type, int quantity)
 {
     this.Fleet.Add(type, quantity);
 }
コード例 #27
0
 public static TimeSpan GetFlightTime(Airport airport1, Airport airport2, AirlinerType type)
 {
     return(GetFlightTime(airport1.Profile.Coordinates.convertToGeoCoordinate(), airport2.Profile.Coordinates.convertToGeoCoordinate(), type));
 }
コード例 #28
0
ファイル: AirlinerHelpers.cs プロジェクト: petfol/tap-desktop
        //returns the airliner classes for an airliner
        public static List <AirlinerClass> GetAirlinerClasses(AirlinerType type)
        {
            List <AirlinerClass> classes = new List <AirlinerClass>();

            if (type is AirlinerPassengerType)
            {
                Configuration airlinerTypeConfiguration = Configurations.GetConfigurations(Configuration.ConfigurationType.AirlinerType).Find(c => ((AirlinerTypeConfiguration)c).Airliner == type && ((AirlinerTypeConfiguration)c).Period.From <= GameObject.GetInstance().GameTime&& ((AirlinerTypeConfiguration)c).Period.To > GameObject.GetInstance().GameTime);

                if (airlinerTypeConfiguration == null)
                {
                    AirlinerConfiguration configuration = null;

                    int numOfClasses = rnd.Next(0, ((AirlinerPassengerType)type).MaxAirlinerClasses) + 1;

                    if (GameObject.GetInstance().GameTime.Year >= (int)AirlinerClass.ClassType.Business_Class)
                    {
                        if (numOfClasses == 1)
                        {
                            configuration = (AirlinerConfiguration)Configurations.GetStandardConfiguration("200");
                        }
                        if (numOfClasses == 2)
                        {
                            configuration = (AirlinerConfiguration)Configurations.GetStandardConfiguration("202");
                        }
                        if (numOfClasses == 3)
                        {
                            configuration = (AirlinerConfiguration)Configurations.GetStandardConfiguration("203");
                        }
                    }
                    else
                    {
                        if (numOfClasses == 1)
                        {
                            configuration = (AirlinerConfiguration)Configurations.GetStandardConfiguration("200");
                        }
                        if (numOfClasses == 2)
                        {
                            configuration = (AirlinerConfiguration)Configurations.GetStandardConfiguration("201");
                        }
                        if (numOfClasses == 3)
                        {
                            configuration = (AirlinerConfiguration)Configurations.GetStandardConfiguration("201");
                        }
                    }

                    foreach (AirlinerClassConfiguration aClass in configuration.Classes)
                    {
                        AirlinerClass airlinerClass = new AirlinerClass(aClass.Type, aClass.SeatingCapacity);
                        airlinerClass.RegularSeatingCapacity = aClass.RegularSeatingCapacity;

                        foreach (AirlinerFacility facility in aClass.getFacilities())
                        {
                            airlinerClass.setFacility(null, facility);
                        }

                        foreach (AirlinerFacility.FacilityType fType in Enum.GetValues(typeof(AirlinerFacility.FacilityType)))
                        {
                            if (!aClass.Facilities.Exists(f => f.Type == fType))
                            {
                                airlinerClass.setFacility(null, AirlinerFacilities.GetBasicFacility(fType));
                            }
                        }

                        airlinerClass.SeatingCapacity = Convert.ToInt16(Convert.ToDouble(airlinerClass.RegularSeatingCapacity) / airlinerClass.getFacility(AirlinerFacility.FacilityType.Seat).SeatUses);

                        classes.Add(airlinerClass);
                    }

                    int seatingDiff = ((AirlinerPassengerType)type).MaxSeatingCapacity - configuration.MinimumSeats;

                    AirlinerClass economyClass = 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;
                }
                else
                {
                    foreach (AirlinerClassConfiguration aClass in ((AirlinerTypeConfiguration)airlinerTypeConfiguration).Classes)
                    {
                        AirlinerClass airlinerClass = new AirlinerClass(aClass.Type, aClass.SeatingCapacity);
                        airlinerClass.RegularSeatingCapacity = aClass.RegularSeatingCapacity;

                        foreach (AirlinerFacility facility in aClass.getFacilities())
                        {
                            airlinerClass.setFacility(null, facility);
                        }

                        airlinerClass.SeatingCapacity = Convert.ToInt16(Convert.ToDouble(airlinerClass.RegularSeatingCapacity) / airlinerClass.getFacility(AirlinerFacility.FacilityType.Seat).SeatUses);

                        classes.Add(airlinerClass);
                    }
                }
            }
            else if (type is AirlinerCargoType)
            {
                AirlinerClass cargoClass = new AirlinerClass(AirlinerClass.ClassType.Economy_Class, 0);
                classes.Add(cargoClass);
            }

            return(classes);
        }
コード例 #29
0
 public AirlineFleetSizeMVVM(AirlinerType type, int count)
 {
     this.Type  = type;
     this.Count = count;
 }
コード例 #30
0
        private void btnAddType_Click(object sender, RoutedEventArgs e)
        {
            AirlinerType type = (AirlinerType)((Button)sender).Tag;

            this.Orders.addOrder(new AirlinerOrderMVVM(type));
        }
コード例 #31
0
ファイル: Route.cs プロジェクト: tehknox/tap-desktop
        //returns the flight time for the route for a specific airliner type
        public TimeSpan getFlightTime(AirlinerType type)
        {
            if (this.HasStopovers)
            {
                double totalMinutes = this.Stopovers.SelectMany(s => s.Legs).Sum(l => l.getFlightTime(type).TotalMinutes);
                double totalRestTime = FleetAirlinerHelpers.GetMinTimeBetweenFlights(type).TotalMinutes * (this.Stopovers.SelectMany(s => s.Legs).Count() - 1);
                int time = (int)(totalRestTime + totalMinutes);

                return new TimeSpan(0, time, 0);
            }
            else
                return MathHelpers.GetFlightTime(this.Destination1, this.Destination2, type);
        }