Ejemplo n.º 1
0
        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();
            }
        }