/* * 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); }
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; } }