Example #1
0
 public bool DeletePassenger(Passenger passenger)
 {
     return(_passengers.Remove(passenger));
 }
Example #2
0
        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
Example #3
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();
            }
        }
Example #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();
            }
        }
Example #5
0
 public static void ViewPassengerWasUpdated(Passenger passenger)
 {
     ViewPassengerInfo(passenger);
     Console.WriteLine("Passenger was updated");
     ViewPressEnter();
 }
Example #6
0
 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()}");
 }