public bool DeletePassenger(Passenger passenger) { return(_passengers.Remove(passenger)); }
public static void Main(string[] args) { string mystring, res, cusseat; int response, end = 0, custres, custseat = 0, number, airresp, booked_seats = 0; Passenger pass = new Passenger(40); // creating pass object for passenger class and calling a constructor while (end != 999) // While loop for continuosly accepting passengers { bool valid = false; if (booked_seats == 40) // Notify Airline staff if the plane is at maximum capacity { WriteLine("All the seats have been taken, Airplane is at maximum capacity!"); } WriteLine("Do you want a boarding pass Y or press 999 to exit"); res = ReadLine(); if (res == "999") { break; } else if (res == "Y" || res == "y") { WriteLine("Press 1 for Airline Staff member, 2 for Passenger"); // int.TryParse(ReadLine(), out response); res = ReadLine(); response = pass.Int_check(res); switch (response) { case 1: Clear(); WriteLine("You are selected as Airline Staff member"); WriteLine("Press 1 to see available seats\nPress 2 to see passenger list\nPress 3 to issue boarding pass"); res = ReadLine(); airresp = pass.Int_check(res); // check if the number is integer or not //int.TryParse(ReadLine(), out airresp); switch (airresp) { case 1: if (booked_seats <= 40) { WriteLine("Available seats are :"); pass.empty_seats(); } else { WriteLine("All seats are booked, no empty seats left"); } break; case 2: if (booked_seats == 0) { WriteLine("No passengner has booked a seat yet"); } else { pass.passenger_list(); } break; case 3: if (booked_seats == 0) { WriteLine("No passengner has booked a seat yet, cannot issue a boarding pass!"); } else { pass.boarding_pass(); } break; } break; case 2: Clear(); WriteLine("You are selected as a passanger"); WriteLine("Press 1 to check empty seats, 2 to exit "); res = ReadLine(); //int.TryParse(ReadLine(), out custres); custres = pass.Int_check(res); switch (custres) { case 1: if (booked_seats == 40) { WriteLine("No empty seats left"); } else { WriteLine("Empty Seats are displayed below"); pass.empty_seats(); while (valid == false) // Loop to check if number of seats required to book isn't greater than available seats { WriteLine("How mnay seats do you want to book"); cusseat = ReadLine(); custseat = pass.Int_check(cusseat); int q = (custseat + booked_seats); if ((40 - q) < 0) // if block to compare total seats available and customer's required number of seats { WriteLine("Only {0} seats are left, can't book {1} seats", 40 - booked_seats, cusseat); } else { valid = true; } } booked_seats = booked_seats + custseat; //increment total number of seats //int.TryParse(ReadLine(), out custseat); for (int i = 0; i < custseat; i++) { pass.Time = pass.time(); // Time function to stamp system time on the boarding pass WriteLine("select seat {0}", i + 1); cusseat = ReadLine(); //int.TryParse(ReadLine(), out number); number = pass.Int_check(cusseat); number = pass.seat_check(pass.Fname, number); WriteLine("Enter the First name"); mystring = ReadLine(); pass.Fname[number - 1] = pass.truncate(mystring); WriteLine("Enter the last name"); mystring = ReadLine(); pass.Lname[number - 1] = pass.truncate(mystring); pass.Security_number[number - 1] = pass.security_no(30000, 999999); pass.Temp_arr[i] = number - 1; // stroing indexes of booked seats in Temp array to issue boarding pass after booking } Clear(); for (int i = 0; i < custseat; i++) // issue boarding pass to the passengers. { WriteLine("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"); WriteLine("\t\t\t\t\t\t\tBoarding pass {0,15}", i + 1); int j = pass.Temp_arr[i]; Write("Name: {0,4} {1,4} {2,2}", pass.Fname[j], pass.Lname[j], "|"); Write("Seat: {0,4} {1,2}", j + 1, "|"); Write("Departure Time: {0,4} {1,2}", pass.Departure_time, "|"); Write("Departure Date: {0,4} {1,2}", pass.Departure_date, "|"); Write("Security: {0,4} {1,2}", pass.Security_number[j], "|"); Write("Flight: {0,4} {1,2}", pass.Flight_no, "|"); Write("TIme: {0,6} {1,2}", pass.Time, "|"); Write("Gate: {0,4}", pass.Gate); WriteLine(); } } break; case 2: break; } break; } } WriteLine(); } ReadKey(); } // End of Main function
private void EditPassenger() { ConsoleManager.PrepareConsoleForInput(); Console.WriteLine("Please Enter Passport series;Passport number to find a passenger"); string[] passportInfo = Console.ReadLine().Split(';'); Passport passportToFind = passportInfo.Length == 2 ? Passport.CreatePassport(passportInfo[0], passportInfo[1]) : null; if (passportToFind != null) { Passenger searchedPassenger = _passengers.Find(i => i.GetPassport().Number == passportToFind.Number && i.GetPassport().Series == passportToFind.Series); Console.WriteLine("What do you want to edit?"); if (searchedPassenger != null) { List <string> editItems = new List <string>() { StringLiterals.FirstName, StringLiterals.LastName, StringLiterals.Nationality, StringLiterals.Passport, StringLiterals.Birthday, StringLiterals.Sex, StringLiterals.Exit }; string selectedEditItem = String.Empty; while (selectedEditItem != "Exit") { selectedEditItem = ConsoleManager.DrawMenu(editItems); ConsoleManager.PrepareConsoleForInput(); if (selectedEditItem == StringLiterals.FirstName) { Console.WriteLine($"Please Enter new {selectedEditItem}"); string newName = Console.ReadLine(); searchedPassenger.UpdateFirstName(newName); ConsoleManager.ViewPassengerWasUpdated(searchedPassenger); } else if (selectedEditItem == StringLiterals.LastName) { Console.WriteLine($"Please Enter new {selectedEditItem}"); string newLastName = Console.ReadLine(); searchedPassenger.UpdateLastName(newLastName); ConsoleManager.ViewPassengerWasUpdated(searchedPassenger); } else if (selectedEditItem == StringLiterals.Nationality) { Console.WriteLine($"Please Enter new {selectedEditItem}"); string newNationality = Console.ReadLine(); searchedPassenger.UpdateNationality(newNationality); ConsoleManager.ViewPassengerWasUpdated(searchedPassenger); } else if (selectedEditItem == StringLiterals.Passport) { Console.WriteLine($"Please Enter new {selectedEditItem}"); Console.WriteLine("Passport series;Passport number"); string[] pasportInfoToChange = Console.ReadLine().Split(';'); if (pasportInfoToChange.Length == 2) { Passport newPassport = Passport.CreatePassport(pasportInfoToChange[0], pasportInfoToChange[1]); if (newPassport != null) { searchedPassenger.UpdatePassport(newPassport); ConsoleManager.ViewPassengerWasUpdated(searchedPassenger); } else { Console.WriteLine(StringLiterals.IncorrectData); ConsoleManager.ViewPressEnter(); } } else { Console.WriteLine(StringLiterals.IncorrectData); ConsoleManager.ViewPressEnter(); } } else if (selectedEditItem == StringLiterals.Birthday) { Console.WriteLine($"Please Enter new {selectedEditItem}"); Console.WriteLine("Year;Month;Day"); string[] birthdayInfo = Console.ReadLine().Split(';'); if (birthdayInfo.Length == 3) { DateTime newBirthday = Extensions.CreateDateTime(birthdayInfo[0], birthdayInfo[1], birthdayInfo[2]); searchedPassenger.UpdateBirthday(newBirthday); ConsoleManager.ViewPassengerWasUpdated(searchedPassenger); } else { Console.WriteLine(StringLiterals.IncorrectData); ConsoleManager.ViewPressEnter(); } } else if (selectedEditItem == StringLiterals.Sex) { Console.WriteLine($"Please Enter new {selectedEditItem}"); string newSex = Console.ReadLine(); searchedPassenger.UpdateSex(newSex); ConsoleManager.ViewPassengerWasUpdated(searchedPassenger); } } } else { Console.WriteLine($"Passenger with Passport {passportToFind.Series} - {passportToFind.Number} wasn found"); ConsoleManager.ViewPressEnter(); } } else { Console.WriteLine(StringLiterals.IncorrectData); ConsoleManager.ViewPressEnter(); } }
private void EditFlight() { ConsoleManager.PrepareConsoleForInput(); Console.WriteLine("Please enter flight number"); int numberToSearch = Console.ReadLine().ValidateAndIntParse(); if (numberToSearch > -1) { Flight searchedFlight = _flights.FindFlightByFlightNumber(numberToSearch); if (searchedFlight != null) { Console.WriteLine("What do you want to edit?"); List <string> editItems = new List <string>() { StringLiterals.ArrivalCountry, StringLiterals.ArrivalCity, StringLiterals.DepatureCountry, StringLiterals.DepatureCity, StringLiterals.FlightNumber, StringLiterals.Terminal, StringLiterals.Gate, StringLiterals.BuissnesPrice, StringLiterals.EconomyPrice, StringLiterals.CreateAndAddPassenger, StringLiterals.AddExistingPassenger, StringLiterals.DeletePassenger, StringLiterals.Exit }; string selectedEditItem = String.Empty; while (selectedEditItem != StringLiterals.Exit) { selectedEditItem = ConsoleManager.DrawMenu(editItems); ConsoleManager.PrepareConsoleForInput(); if (selectedEditItem == StringLiterals.ArrivalCountry) { ConsoleManager.PrepareConsoleForInput(); Console.WriteLine($"Please Enter new {selectedEditItem}"); string newArrivalCountry = Console.ReadLine(); searchedFlight.UpdateArrivalCountry(newArrivalCountry); ConsoleManager.ViewFlightWasUpdated(searchedFlight); } else if (selectedEditItem == StringLiterals.ArrivalCity) { ConsoleManager.PrepareConsoleForInput(); Console.WriteLine($"Please Enter new {selectedEditItem}"); string newArrivalCity = Console.ReadLine(); searchedFlight.UpdateArrivalCity(newArrivalCity); ConsoleManager.ViewFlightWasUpdated(searchedFlight); } else if (selectedEditItem == StringLiterals.DepatureCountry) { Console.WriteLine($"Please Enter new {selectedEditItem}"); string newDepatureCountry = Console.ReadLine(); searchedFlight.UpdateDepatureCountry(newDepatureCountry); ConsoleManager.ViewFlightWasUpdated(searchedFlight); } else if (selectedEditItem == StringLiterals.DepatureCity) { Console.WriteLine($"Please Enter new {selectedEditItem}"); string newDepatureCity = Console.ReadLine(); searchedFlight.UpdateDepatureCity(newDepatureCity); ConsoleManager.ViewFlightWasUpdated(searchedFlight); } else if (selectedEditItem == StringLiterals.FlightNumber) { Console.WriteLine($"Please Enter new {selectedEditItem}"); int newFlightNum = Console.ReadLine().ValidateAndIntParse(); if (newFlightNum > -1) { searchedFlight.UpdateFlightNumber(newFlightNum); ConsoleManager.ViewFlightWasUpdated(searchedFlight); } else { Console.WriteLine(StringLiterals.IncorrectData); ConsoleManager.ViewPressEnter(); } } else if (selectedEditItem == StringLiterals.Terminal) { Console.WriteLine($"Please Enter new {selectedEditItem}"); int newTerminal = Console.ReadLine().ValidateAndIntParse(); if (newTerminal > -1) { searchedFlight.UpdateTerminal(newTerminal); ConsoleManager.ViewFlightWasUpdated(searchedFlight); } else { Console.WriteLine(StringLiterals.IncorrectData); ConsoleManager.ViewPressEnter(); } } else if (selectedEditItem == StringLiterals.Gate) { Console.WriteLine($"Please Enter new {selectedEditItem}"); int newGate = Console.ReadLine().ValidateAndIntParse(); if (newGate > -1) { searchedFlight.UpdateGate(newGate); ConsoleManager.ViewFlightWasUpdated(searchedFlight); } else { Console.WriteLine(StringLiterals.IncorrectData); ConsoleManager.ViewPressEnter(); } } else if (selectedEditItem == StringLiterals.BuissnesPrice) { Console.WriteLine($"Please Enter new {selectedEditItem}"); int newBuissnessPrice = Console.ReadLine().ValidateAndIntParse(); if (newBuissnessPrice > -1) { searchedFlight.UpdateBuissnesPrice(newBuissnessPrice); ConsoleManager.ViewFlightWasUpdated(searchedFlight); } else { Console.WriteLine(StringLiterals.IncorrectData); ConsoleManager.ViewPressEnter(); } } else if (selectedEditItem == StringLiterals.EconomyPrice) { Console.WriteLine($"Please Enter new {selectedEditItem}"); int newEconomyPrice = Console.ReadLine().ValidateAndIntParse(); if (newEconomyPrice > -1) { searchedFlight.UpdateEconomyPrice(newEconomyPrice); ConsoleManager.ViewFlightWasUpdated(searchedFlight); } else { Console.WriteLine(StringLiterals.IncorrectData); ConsoleManager.ViewPressEnter(); } } else if (selectedEditItem == StringLiterals.CreateAndAddPassenger) { Console.WriteLine("Please Enter data to create a passenger:"); Console.WriteLine("First Name;Last Name"); string[] nameLastName = Console.ReadLine().Split(';'); Console.WriteLine("Nationality;Sex"); string[] nationalitySex = Console.ReadLine().Split(';'); Console.WriteLine("Passport series;passport Number"); string[] passportInfo = Console.ReadLine().Split(';'); Console.WriteLine("Year;month;day"); string[] birthday = Console.ReadLine().Split(';'); if (nameLastName.Length == 2 && nationalitySex.Length == 2 && passportInfo.Length == 2 && birthday.Length == 3) { Passenger passenger = Passenger.CreatePassenger(nameLastName[0], nameLastName[1], nationalitySex[0], Passport.CreatePassport(passportInfo[0], passportInfo[1]), Extensions.CreateDateTime(birthday[0], birthday[1], birthday[2]), nationalitySex[1]); if (passenger != null) { searchedFlight.AddPassenger(passenger, new Ticket(TicketClass.Economy, searchedFlight.GetFlightNumber(), searchedFlight.GetPrice().EcomonyPrice)); _passengers.Add(passenger); ConsoleManager.ViewPassengerInfo(passenger); Console.WriteLine($"Passenger was created and added to flight :{searchedFlight.GetFlightNumber()}"); } else { Console.WriteLine(StringLiterals.IncorrectData); } } else { Console.WriteLine(StringLiterals.IncorrectData); } ConsoleManager.ViewPressEnter(); } else if (selectedEditItem == StringLiterals.AddExistingPassenger) { Console.WriteLine("Please Enter Passport series;Passport number to find a passenger"); string[] passportInfo = Console.ReadLine().Split(';'); Passport passportToFind = passportInfo.Length == 2 ? Passport.CreatePassport(passportInfo[0], passportInfo[1]) : null; if (passportToFind != null) { Passenger passenger = _passengers.Find(i => i.GetPassport().Number == passportToFind.Number && i.GetPassport().Series == passportToFind.Series); if (passenger != null) { bool added = searchedFlight.AddPassenger(passenger, new Ticket(TicketClass.Economy, searchedFlight.GetFlightNumber(), searchedFlight.GetPrice().EcomonyPrice)); if (_passengers.Contains(passenger)) { _passengers.Add(passenger); } if (added) { ConsoleManager.ViewPassengerInfo(passenger); Console.WriteLine($"Passenger was added to flight:{searchedFlight.GetFlightNumber()}"); } else { Console.WriteLine("Passenger is already exist in te flight passengers"); } } else { Console.WriteLine("Passenger wasnt found"); } } else { Console.WriteLine(StringLiterals.IncorrectData); } ConsoleManager.ViewPressEnter(); } else if (selectedEditItem == StringLiterals.DeletePassenger) { Console.WriteLine("Please Enter Passport series;Passport number to find a passenger"); string[] passportInfo = Console.ReadLine().Split(';'); Passport passportToFind = passportInfo.Length == 2 ? Passport.CreatePassport(passportInfo[0], passportInfo[1]) : null; if (passportToFind != null) { Passenger passenger = _passengers.Find(i => i.GetPassport().Number == passportToFind.Number && i.GetPassport().Series == passportToFind.Series); bool removed = _flights.FindFlightByFlightNumber(searchedFlight.GetFlightNumber()).DeletePassenger(passenger); if (removed == true) { ConsoleManager.ViewPassengerInfo(passenger); Console.WriteLine($"Passenger was removed to flight:{searchedFlight.GetFlightNumber()}"); } else { Console.WriteLine("Passenger is not exist"); } } else { Console.WriteLine(StringLiterals.IncorrectData); } ConsoleManager.ViewPressEnter(); } } } else { Console.WriteLine($"The Flight with current Flight Number {numberToSearch} wasnt found"); } } else { Console.WriteLine(StringLiterals.IncorrectData); ConsoleManager.ViewPressEnter(); } }
public static void ViewPassengerWasUpdated(Passenger passenger) { ViewPassengerInfo(passenger); Console.WriteLine("Passenger was updated"); ViewPressEnter(); }
public static void ViewPassengerInfo(Passenger passenger) { Console.WriteLine("*************************************************************************"); Console.WriteLine($"NAME: {passenger.GetFirstName()}; LAST NAME: {passenger.GetLastName()}; NATIONALITY: {passenger.GetNationality()}; SEX: {passenger.GetSex()}; PASSPORT: {passenger.GetPassport().Series}-{passenger.GetPassport().Number}; BIRTHDAY:{passenger.GetBirthday()}"); }