TheAirline.Models.Routes.Route.GetAirliners C# (CSharp) Метод

GetAirliners() публичный Метод

public GetAirliners ( ) : List
Результат List
        public List<FleetAirliner> GetAirliners()
        {
            var entries = new List<RouteTimeTableEntry>(TimeTable.Entries);
            /*
            List<FleetAirliner> mainEntries = (from e in entries where e!=null && e.MainEntry != null && e.MainEntry.Airliner != null select e.MainEntry.Airliner).Distinct().ToList();
            List<FleetAirliner> allAirliners = (from e in entries where e!=null && e.Airliner != null select e.Airliner).Distinct().ToList();
            allAirliners.AddRange(mainEntries);
            */

            IEnumerable<FleetAirliner> tx = entries.Where(e => e?.Airliner != null).Select(e => e.Airliner);
            IEnumerable<FleetAirliner> tMain =
                entries.Where(e => e?.MainEntry?.Airliner != null)
                       .Select(e => e.MainEntry.Airliner)
                       .Distinct();

            IEnumerable<FleetAirliner> tAll = tx.Union(tMain);

            return tAll.ToList();
        }

Usage Example

Пример #1
0
        /*returns the inflight demand score for the route*/
        public static double GetRouteInflightScore(Route route)
        {
            TimeSpan flightTime = MathHelpers.GetFlightTime(route.Destination1, route.Destination2, route.GetAirliners()[0].Airliner.Type);

            AirlinerFacility inflight = route.GetAirliners()[0].Airliner.GetAirlinerClass(AirlinerClass.ClassType.EconomyClass).GetFacility(AirlinerFacility.FacilityType.Video);

            IOrderedEnumerable<AirlinerFacility> videofacilities =
                AirlinerFacilities.GetFacilities(AirlinerFacility.FacilityType.Video).Where(f => f.FromYear >= GameObject.GetInstance().GameTime.Year).OrderBy(f => f.ServiceLevel);

            int facilitynumber = videofacilities.Count() - videofacilities.ToList().IndexOf(inflight) - 1;

            double inflightlevel;

            if (flightTime.Hours < 1)
            {
                inflightlevel = 9 - facilitynumber;
            }
            else if (flightTime.Hours >= 1 && flightTime.Hours < 3)
            {
                inflightlevel = 8 - facilitynumber;
            }
            else if (flightTime.Hours >= 3 && flightTime.Hours < 7)
            {
                inflightlevel = 7 - facilitynumber;
            }
            else
            {
                inflightlevel = 10 - (2*facilitynumber);
            }

            return Math.Min(10, inflightlevel);
        }
All Usage Examples Of TheAirline.Models.Routes.Route::GetAirliners