Example #1
0
        public IEnumerable <Airport> ReadAirportList(IEnumerable <string> file)
        {
            List <Airport> lstAirport = new List <Airport>();

            foreach (var item in file)
            {
                String[] split = item.Split(",");
                String   strAirpDestination = "";
                String   strAirpOrigin      = "";
                int      cost;
                if (split.Length == 3 && int.TryParse(split[2], out cost))
                {
                    strAirpOrigin      = split[0];
                    strAirpDestination = split[1];
                }
                else
                {
                    throw new Exception($"Formato da linha incorreto - Linha {item}");
                }


                Airport airportOrigin      = lstAirport.Find(p => p.name == strAirpOrigin);
                Airport airportDestination = lstAirport.Find(p => p.name == strAirpDestination);

                if (airportDestination == null)
                {
                    airportDestination = new Airport(strAirpDestination);
                    lstAirport.Add(airportDestination);
                }


                if (airportOrigin != null)
                {
                    airportOrigin.AddDestination(airportDestination, cost);
                }
                else
                {
                    airportOrigin = new Airport(strAirpOrigin);
                    airportOrigin.AddDestination(airportDestination, cost);
                    lstAirport.Add(airportOrigin);
                }
            }

            return(lstAirport);
        }