Ejemplo n.º 1
0
        internal static List <FlightRoute> GetRouteInformation()
        {
            var routes        = new List <FlightRoute>();
            var provider1Data = new FlightDataProvider().GetFlightRouteFromFile("provider1.txt", ',', "M/d/yyyy H:mm:ss");
            var provider2Data = new FlightDataProvider().GetFlightRouteFromFile("provider2.txt", ',', "M-d-yyyy H:mm:ss");
            var provider3Data = new FlightDataProvider().GetFlightRouteFromFile("provider3.txt", '|', "M/d/yyyy H:mm:ss");

            routes.AddRange(provider1Data);
            routes.AddRange(provider2Data);
            routes.AddRange(provider3Data);

            routes = GetDistinctRoutesWithLowestFare(routes).OrderBy(rR => rR.Rate.Value).ThenBy(rR => rR.DepartureTime).ToList();

            return(routes);
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            _validate(args);
            var origin      = args[2];
            var destination = args[4];

            var providerRoutes = FlightDataProvider.GetRouteInformation();

            var requiredRoutes = providerRoutes.Where(r => r.Origin.Equals(origin) && r.Destination.Equals(destination)).ToList();

            if (requiredRoutes == null || requiredRoutes.Count == 0)
            {
                Console.WriteLine("No Flights found for this route");
            }
            else
            {
                foreach (var route in requiredRoutes)
                {
                    Console.WriteLine($"{route.Origin} --> {route.Destination} ({route.DepartureTime} --> {route.DestinationTime}) - ${route.Rate.Value}");
                }
            }
        }