Exemplo n.º 1
0
        public Airline GetFavoriteAirline(Person person)
        {
            var countDict = new Dictionary <string, int>();

            foreach (var a in Airlines)
            {
                countDict.Add(a.AirlineCode, 0);
            }

            foreach (var t in person.Trips)
            {
                foreach (var p in t.PlanItems)
                {
                    var f = p as Flight;
                    if (f != null)
                    {
                        countDict[f.Airline.AirlineCode]++;
                    }
                }
            }

            var    max = -1;
            string favoriteAirlineCode = null;

            foreach (var record in countDict)
            {
                if (max < record.Value)
                {
                    favoriteAirlineCode = record.Key;
                    max = record.Value;
                }
            }

            return(Airlines.Single(a => a.AirlineCode.Equals(favoriteAirlineCode)));
        }