예제 #1
0
        public void EditPassenger()
        {
            try
            {
                Console.Clear();

                FlightInfo flight = SearchByNumber();

                if (flight == null)
                {
                    return;
                }

                Console.WriteLine("Please, enter the first name of the passenger to edit");

                string firstName = Console.ReadLine();

                Console.WriteLine("Please, enter the second name of the passenger to edit");

                string secondName = Console.ReadLine();

                Passenger passenger = null;

                foreach (var item in flight.Passengers)
                {
                    if (item.FirstName == firstName && item.SecondName == secondName)
                    {
                        passenger = item;
                        break;
                    }
                }

                if (passenger == null)
                {
                    IOHelper.DrawConsoleHeader("We could not find a passenger, do you want to continue? Press any button", ConsoleColor.Red);
                    Console.ReadLine();
                    return;
                }

                Console.Clear();

                DrawPassenger(new List <Passenger> {
                    passenger
                });

                Console.WriteLine("Please enter new first name or press enter if you don't want to change");
                var pasFirstName = Console.ReadLine();
                if (!String.IsNullOrEmpty(pasFirstName))
                {
                    passenger.FirstName = pasFirstName;
                }

                Console.WriteLine("Please enter new second name or press enter if you don't want to change");
                var pasSecondName = Console.ReadLine();
                if (!String.IsNullOrEmpty(pasSecondName))
                {
                    passenger.SecondName = pasSecondName;
                }

                Console.WriteLine("Please enter new nationality or press enter if you don't want to change");
                var nationality = Console.ReadLine();
                if (!String.IsNullOrEmpty(nationality))
                {
                    passenger.Nationality = nationality;
                }

                Console.WriteLine("Please enter new pasport or press enter if you don't want to change");
                var pasport = Console.ReadLine();
                if (!String.IsNullOrEmpty(pasport))
                {
                    passenger.Pasport = pasport;
                }

                var birthday = (DateTime)IOHelper.SetDate("Please, enter the new birthday of the passenger (use this format dd.MM.yyyy)", "dd.MM.yyyy", true);
                if (birthday != null)
                {
                    passenger.Birthday = birthday;
                }

                Console.WriteLine("Please, enter the new gender (Male or Female) of the passenger");
                var gender = Console.ReadLine();
                if (!String.IsNullOrEmpty(gender))
                {
                    passenger.Gender = (Gender)Enum.Parse(typeof(Gender), gender);
                }

                Console.WriteLine("Please, enter the new flight class (Business or Economy) of the passenger");
                var flClass = Console.ReadLine();
                if (!String.IsNullOrEmpty(flClass))
                {
                    passenger.ClassType = (FlightClasses)Enum.Parse(typeof(FlightClasses), flClass);
                }

                IOHelper.DrawConsoleHeader("Changes have been made, press any key to continue", ConsoleColor.Green);
                Console.ReadLine();
            }
            catch
            {
                IOHelper.DrawConsoleHeader("Data format was incorrect to press any key to continue", ConsoleColor.Red);
                Console.ReadLine();
            }
        }
예제 #2
0
        public void Edit()
        {
            Console.Clear();

            Draw();

            Console.WriteLine("Enter the number of flight to edit");
            var choice = Console.ReadLine();

            FlightInfo flight = null;

            foreach (var item in flights)
            {
                if (item != null && item.Number == choice)
                {
                    flight = item;
                    break;
                }
            }

            if (flight == null)
            {
                IOHelper.DrawConsoleHeader("We could not find a flight, do you want to continue? Press any button", ConsoleColor.Red);
                Console.ReadLine();
                return;
            }

            Console.Clear();

            IOHelper.DrawConsoleHeader(string.Format("Flight: {0} has been found. Press any key to continue", choice), ConsoleColor.Green);
            Draw(new List <FlightInfo> {
                flight
            });
            Console.ReadLine();

            Console.WriteLine("Please enter new number or press enter if you don't want to change");
            var number = Console.ReadLine();

            if (!String.IsNullOrEmpty(number))
            {
                flight.Number = number;
            }

            Console.WriteLine("Please enter new destination or press enter if you don't want to change");
            var destination = Console.ReadLine();

            if (!String.IsNullOrEmpty(destination))
            {
                flight.Destination = destination;
            }

            Console.WriteLine("Please enter new departure place or press enter if you don't want to change");
            var depPlace = Console.ReadLine();

            if (!String.IsNullOrEmpty(depPlace))
            {
                flight.DeparturePlace = depPlace;
            }

            Console.WriteLine("Please enter new airline or press enter if you don't want to change");
            var line = Console.ReadLine();

            if (!String.IsNullOrEmpty(line))
            {
                flight.AirLine = line;
            }

            var depTime = IOHelper.SetDate("Please enter new the departure date and time or press enter (use this format dd.MM.yyyy HH:mm )", DatePattern, false);

            if (depTime != null)
            {
                flight.Departure = (DateTime)depTime;
            }


            var arrTime = IOHelper.SetDate("Please enter new the departure date and time or press enter (use this format dd.MM.yyyy HH:mm )", DatePattern, false);

            if (arrTime != null)
            {
                flight.Arrival = (DateTime)arrTime;
            }

            Console.WriteLine("Please enter new gate or press enter if you don't want to change");
            var gate = Console.ReadLine();

            if (!String.IsNullOrEmpty(gate))
            {
                flight.Gate = gate;
            }

            Console.WriteLine(@"Please enter new status or press enter if you don't want to change 
(use this status checkIn, gateClosed, arrived, departedAt, unknown, canceled, expectedAt, delayed, inFlight)");
            var status = Console.ReadLine();

            if (!String.IsNullOrEmpty(status))
            {
                flight.Status = (FlightStatus)Enum.Parse(typeof(FlightStatus), status);
            }

            AddPrices(flight);

            IOHelper.DrawConsoleHeader("Changes have been made, press any key to continue", ConsoleColor.Green);
            Console.ReadLine();
        }