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(); } }