/*
         *  Generate flight itenary
         *  parameters: List of orders
         *  parameters: number of days scheduled for flights
         *  parameters: number of total planes
         */
        public List <string> GenerateItenary(JObject orderList, int days, int totalPlanes)
        {
            var schedule        = new ScheduledFlights();
            var scheduledPlanes = schedule.GetSchedule(days, totalPlanes);
            var flightItnery    = new List <string>();
            var itenary         = "";

            foreach (var order in orderList)
            {
                var index = 1;
                foreach (var plane in scheduledPlanes)
                {
                    if (plane.Destination == order.Value["destination"].ToString())
                    {
                        if (plane.Load < 20)
                        {
                            itenary = "order: " + order.Key.ToString() + ", flightNumber: " + plane.FlightNumber + ", departure: " + plane.DepartureCity + ", arrival: " + plane.Destination + ", day: " + plane.Day;
                            flightItnery.Add(itenary);
                            plane.Load++;
                            break;
                        }
                        else if (plane.Day == "2")
                        {
                            break;
                        }
                    }
                    else if (index == scheduledPlanes.Count)
                    {
                        itenary = "order: " + order.Key.ToString() + ", flightNumber: not scheduled";
                        flightItnery.Add(itenary);
                        break;
                    }
                    index++;
                }
            }
            return(flightItnery);
        }
Exemple #2
0
        static void Main(string[] args)
        {
            var flightItenary = new FlightItenary();
            var jsonReader    = new ReadJsonFile();

            restart : Console.WriteLine("Please choose from following options:\n 1. View scheduled flights \n 2. Generate flight itenary based on coding-assigment-orders.json file.");
            var userInput = Console.ReadLine();

            switch (userInput)
            {
            case "1":
                var scheduledFlights = new ScheduledFlights();
                var schedule         = scheduledFlights.GetSchedule(2, 3);
                foreach (var plane in schedule)
                {
                    Console.WriteLine("Flight: {0}, departure: {1}, arrival: {2}, day: {3}", plane.FlightNumber, plane.DepartureCity, plane.Destination, plane.Day);
                }
                break;

            case "2":
                var orderList = jsonReader.ReadJson("coding-assigment-orders.json");
                var itenary   = flightItenary.GenerateItenary(orderList, 2, 3);
                foreach (var flight in itenary)
                {
                    Console.WriteLine(flight);
                }
                break;
            }

            Console.WriteLine("Do you want to continue? y or n:");
            userInput = Console.ReadLine();
            if (userInput == "y" || userInput == "yes")
            {
                goto restart;
            }
        }