public SearcResult(Flight SomeFlight, KindOfFlight kindoflight, int someindex) { this.SomeFlight = SomeFlight; this.kindoflight = kindoflight; this.someindex = someindex; }
static void Main(string[] args) { int numberX; //10 flights totally arrivals = new Flight[10]; departures = new Flight[10]; //Enter the test data //Arrival 1 Flight ourflightstart1 = new Flight(); ourflightstart1.at = DateTime.Now.AddHours(6); ourflightstart1.airline = "Aerosweet"; ourflightstart1.number = 784; ourflightstart1.city = "Istanbul"; ourflightstart1.terminal = 8; ourflightstart1.kind = KindOfFlight.Arrival; ourflightstart1.status = FlightStatus.Delayed; arrivals[x] = ourflightstart1; x++; //Departure 1 Flight ourflightstart2 = new Flight(); ourflightstart2.at = DateTime.Now.AddHours(3); ourflightstart2.airline = "FlyEmirates"; ourflightstart2.number = 611; ourflightstart2.city = "Madrid"; ourflightstart2.terminal = 6; ourflightstart2.kind = KindOfFlight.Departure; ourflightstart2.status = FlightStatus.GateClosed; departures[y] = ourflightstart2; y++; //Arrival 2 Flight ourflightstart3 = new Flight(); ourflightstart3.at = DateTime.Now.AddHours(2); ourflightstart3.airline = "AirFrance"; ourflightstart3.number = 529; ourflightstart3.city = "new York"; ourflightstart3.terminal = 3; ourflightstart3.kind = KindOfFlight.Arrival; ourflightstart3.status = FlightStatus.CheckIn; arrivals[x] = ourflightstart3; x++; //Departure 2 Flight ourflightstart4 = new Flight(); ourflightstart4.at = DateTime.Now.AddHours(1); ourflightstart4.airline = "LuftGanza"; ourflightstart4.number = 481; ourflightstart4.city = "Montreal"; ourflightstart4.terminal = 2; ourflightstart4.kind = KindOfFlight.Departure; ourflightstart4.status = FlightStatus.CheckIn; departures[y] = ourflightstart4; y++; Console.WriteLine("Enter the emergency information" + "on all flights in this airport"); emergencyinfo = Console.ReadLine(); PauseProg(); somef = new SearcResult(); while (true) { Console.WriteLine("1.Add an arrival flight"); Console.WriteLine("2.Edit an arrival flight"); Console.WriteLine("3.Delete an arrival flight"); Console.WriteLine("4.Add a departure flight"); Console.WriteLine("5.Edit a departure flight"); Console.WriteLine("6.Delete a departure flight"); Console.WriteLine("7.PRINT"); Console.WriteLine("8.SEARCH BY A NUMBER"); Console.WriteLine("9.SEARCH by time of arrival"); Console.WriteLine("10.SEARCH by a city "); Console.WriteLine("11.SEARCH all the flights in this hour"); Console.WriteLine("12.OUTPUT EMERGENCY INFO"); Console.WriteLine("13.SORT BY DATE"); Console.WriteLine("14.EXIT A PROJECT"); choice = int.Parse(Console.ReadLine()); Console.Clear(); switch (choice) { case 1: { Flight ourflight; FillStructure(KindOfFlight.Arrival, out ourflight); PauseProg(); break; } case 2: { Console.WriteLine("Arrival Flight number to edit:"); numberX = int.Parse(Console.ReadLine()); EditStructure(KindOfFlight.Arrival, numberX); PauseProg(); break; } case 3: { Console.WriteLine("Arrival Flight number to delete:"); numberX = int.Parse(Console.ReadLine()); DeleteStructure(KindOfFlight.Arrival, numberX); PauseProg(); break; } case 4: { Flight ourflight; FillStructure(KindOfFlight.Departure, out ourflight); PauseProg(); break; } case 5: { Console.WriteLine("Departure Flight number to edit:"); numberX = int.Parse(Console.ReadLine()); EditStructure(KindOfFlight.Departure, numberX); PauseProg(); break; } case 6: { Console.WriteLine("Departure Flight number to delete:"); numberX = int.Parse(Console.ReadLine()); DeleteStructure(KindOfFlight.Departure, numberX); PauseProg(); break; } case 7: { for (int i = 0; i < arrivals.Length; i++) { /*Check an empy date * in an array */ if (DateTime.MinValue == arrivals[i].at) { continue; } Console.WriteLine(arrivals[i].ToString()); Console.WriteLine(""); } for (int i = 0; i < departures.Length; i++) { if (DateTime.MinValue == departures[i].at) { continue; } Console.WriteLine(departures[i].ToString()); } PauseProg(); break; } case 8: { //Search by a number Console.WriteLine("Enter a number to search"); numberX = int.Parse(Console.ReadLine()); SearcResult?somef1 = SearchByNumberOrArrivalTime(numberX, KindOfFlight.Arrival); if (somef1.HasValue) { somef = (SearcResult)somef1; Console.WriteLine(somef.SomeFlight.ToString()); } else { somef1 = SearchByNumberOrArrivalTime(numberX, KindOfFlight.Departure); if (somef1.HasValue) { somef = (SearcResult)somef1; Console.WriteLine(somef.SomeFlight.ToString()); } } PauseProg(); break; } case 9: { //Search by time of arrival DateTime searchtime = TimeEnter(); SearcResult?somef2 = SearchByNumberOrArrivalTime(0, KindOfFlight.Arrival, searchtime); if (somef2.HasValue) { somef = (SearcResult)somef2; Console.WriteLine(somef.SomeFlight.ToString()); PauseProg(); break; } else { Console.WriteLine("Nothing to write!!!"); PauseProg(); break; } } case 10: { Console.WriteLine("Enter The City:"); string searchcity = Console.ReadLine(); SearchByCityAndCloseTime(searchcity); PauseProg(); break; } //Search by a city case 11: { //Search all the flights in this hour DateTime nowtime = DateTime.Now.AddHours(1); SearchByCityAndCloseTime("", nowtime); PauseProg(); break; } case 12: { //Output emergency info Console.WriteLine("Attention!!!See the emergency INFO!!!"); Console.WriteLine("-------------------------------------"); Console.WriteLine(emergencyinfo); PauseProg(); break; } case 13: { SortArray(ref arrivals); SortArray(ref departures); break; } case 14: { return; } default: { Console.WriteLine("A wrong choice!!!Repeat"); break; } } } }