Exemple #1
0
        private void PrintAllFlightPassengers()
        {
            ConsoleManager.PrepareConsoleForInput();
            Console.WriteLine("Please Enter Flight number to search");
            int numbertoSearch = Console.ReadLine().ValidateAndIntParse();

            if (numbertoSearch > -1)
            {
                Flight searchResult = _flights.FindFlightByFlightNumber(numbertoSearch);

                if (searchResult != null)
                {
                    ConsoleManager.ViewFlightInfo(searchResult);
                    Console.WriteLine("PASSENGERS");

                    foreach (Passenger pas in searchResult.GetPassengers())
                    {
                        ConsoleManager.ViewPassengerInfo(pas);
                    }
                }
                else
                {
                    Console.WriteLine("The flight with this flight number is not excist");
                }
            }
            else
            {
                Console.WriteLine(StringLiterals.IncorrectData);
            }

            ConsoleManager.ViewPressEnter();
        }
Exemple #2
0
        private void SearchPassengersByPassport()
        {
            ConsoleManager.PrepareConsoleForInput();
            string partToFind = "";

            while (partToFind.Length < 3)
            {
                Console.WriteLine("Please Enter Passport Passport Series+Passport Number(Example XA12;OX21345;1234)");
                Console.WriteLine("Min 3 chars");
                partToFind = Console.ReadLine();
            }

            List <Passenger> searchedPassengers = _flights.FindPassengersByPassportPartial(partToFind);

            if (searchedPassengers.Count > 0)
            {
                foreach (Passenger passenger in searchedPassengers)
                {
                    ConsoleManager.ViewPassengerInfo(passenger);
                }
            }
            else
            {
                Console.WriteLine(StringLiterals.PassengerWasntFound);
            }
            ConsoleManager.ViewPressEnter();
        }
Exemple #3
0
        private void SearchPassengersByName()
        {
            ConsoleManager.PrepareConsoleForInput();
            string partToFind = "";

            while (partToFind.Length < 3)
            {
                Console.WriteLine("Please Enter first name ot last Name (could be part)");
                Console.WriteLine("Min 3 chars");
                partToFind = Console.ReadLine();
            }

            List <Passenger> searchedPassengers = _flights.FindPassengersByNamePartial(partToFind);

            if (searchedPassengers.Count > 0)
            {
                foreach (Passenger passenger in searchedPassengers)
                {
                    ConsoleManager.ViewPassengerInfo(passenger);
                }
            }
            else
            {
                Console.WriteLine(StringLiterals.PassengerWasntFound);
            }

            ConsoleManager.ViewPressEnter();
        }
Exemple #4
0
        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();
            }
        }