public static void EditAirline(Airline company)
        {
            string   valuestring;
            DateTime valuedDatetime;

            Console.WriteLine("Enter the new name of Airline:(#) - remain one");
            valuestring         = Console.ReadLine();
            company.AirlineName = ((valuestring == "#") ? company.AirlineName : valuestring);
            Console.WriteLine("Enter the new LicenseNumber of Airline:(#) - remain one");
            valuestring           = Console.ReadLine();
            company.LicenseNumber = ((valuestring == "#") ? company.LicenseNumber : valuestring);
            Console.WriteLine("Enter the new expiration date of Airline: (#) - remain one");
            valuestring         = Console.ReadLine();
            valuedDatetime      = ((valuestring == "#") ? company.DateExpired : InputUtil.TimeEnter());
            company.DateExpired = valuedDatetime;
        }
Exemple #2
0
        public void ApplicationAll(Generator gn)
        {
            Passenger.PassFlight?passengertosearch;
            //object infpassenger;
            Loging loger = new Loging();

            loger.StartProgram();
            while (true)
            {
                Choice = getMenu();
                switch (Choice)
                {
                case 1:
                {
                    chosenLine = Airline.CheckAirline(gn.AirlineArray);
                    break;
                }

                case 2:
                {
                    Airline.EditAirline(chosenLine);
                    break;
                }

                case 3:
                {
                    Airline.DeleteAirline(chosenLine);
                    break;
                }

                case 4:
                {
                    chosenLine?.AddItem();
                    break;
                }

                case 5:
                {
                    flighttosearch = chosenLine.SearchFlight();
                    if (flighttosearch != null)
                    {
                        flighttosearch = chosenLine.EditItem(flighttosearch);
                    }
                    break;
                }

                case 6:
                {
                    flighttosearch = chosenLine.SearchFlight();
                    if (flighttosearch != null)
                    {
                        chosenLine.DeleteItem(flighttosearch);
                    }
                    break;
                }

                case 7:
                {
                    for (int i = 0; i < gn.AirlineArray.Length; i++)
                    {
                        gn.AirlineArray[i]?.PrintAllFlights(gn.AirlineArray[i]?.ArrivalList);
                        gn.AirlineArray[i]?.PrintAllFlights(gn.AirlineArray[i]?.DepartureFlightlist);
                    }
                    Console.ReadLine();
                    break;
                }

                case 8:
                {
                    chosenLine?.PrintAllFlights(chosenLine?.ArrivalList);
                    chosenLine?.PrintAllFlights(chosenLine?.DepartureFlightlist);
                    Console.ReadLine();
                    break;
                }

                case 9:
                {
                    flighttosearch = chosenLine.SearchFlight();
                    for (int i = 0; i < flighttosearch?.Customers?.Length; i++)
                    {
                        Console.WriteLine(flighttosearch?.Customers[i]?.ToString());
                    }
                    Console.ReadLine();
                    break;
                }

                case 10:
                {
                    //Airline
                    for (int i = 0; i < gn.AirlineArray.Length; i++)
                    {
                        //Flights arrive
                        if (gn.AirlineArray[i]?.ArrivalList != null)
                        {
                            foreach (var item in gn.AirlineArray[i]?.ArrivalList)
                            {
                                //Customers
                                for (int j = 0; j < item.Customers.Length; j++)
                                {
                                    Console.WriteLine(item.Customers[j]?.ToString());
                                }
                            }
                        }
                        //Flights departure
                        if (gn.AirlineArray[i]?.DepartureFlightlist != null)
                        {
                            foreach (var item in gn.AirlineArray[i]?.DepartureFlightlist)
                            {
                                //Customers
                                for (int j = 0; j < item.Customers.Length; j++)
                                {
                                    Console.WriteLine(item.Customers[j]?.ToString());
                                }
                            }
                        }
                    }
                    Console.ReadLine();
                    break;
                }

                case 11:
                {
                    /*
                     * Add a passenger ONLY to a current Airline
                     */
                    flighttosearch = chosenLine.SearchFlight();
                    flighttosearch?.AddItem();
                    break;
                }

                case 12:
                {
                    dynamic infpassenger = Passenger.getAvalueOfstructure <int>(gn.AirlineArray);
                    if (infpassenger.flight != null)
                    {
                        infpassenger.flight.EditItem(infpassenger.passenger);
                    }
                    break;
                }

                case 13:
                {
                    dynamic infpassenger = Passenger.getAvalueOfstructure <int>(gn.AirlineArray);
                    if (infpassenger.flight != null)
                    {
                        infpassenger.flight.DeleteItem(infpassenger.passenger);
                    }
                    break;
                }

                case 14:
                {
                    Console.Clear();
                    var infpassenger = (Passenger)Passenger.getAvalueOfstructure <Passenger>(gn.AirlineArray);
                    if (infpassenger != null)
                    {
                        Console.WriteLine("Found a passenger:{0}  {1}", infpassenger.Firstname, infpassenger.Lastname);
                    }
                    Console.ReadLine();
                    break;
                }

                case 15:
                {
                    //MINIMUM PRICE
                    Console.WriteLine("ENTER A MINIMUM PRICE TO COMPARE TO");
                    int minimumprice = int.Parse(Console.ReadLine());
                    for (int i = 0; i < gn.AirlineArray?.Length; i++)
                    {
                        if (gn.AirlineArray[i]?.ArrivalList == null)
                        {
                            continue;
                        }
                        foreach (var item in gn.AirlineArray[i]?.ArrivalList)
                        {
                            if (item is Flight)
                            {
                                foreach (var item1 in item.TicketList.FindAll(
                                             (Ticket tc) =>
                                    {
                                        return(tc.Price < minimumprice);
                                    }))
                                {
                                    Console.WriteLine("The number of flight:{0}, the price:{1}", item.Number, item1.Price);
                                }
                            }
                        }
                    }
                    Console.WriteLine("Press any key");
                    Console.ReadLine();
                    break;
                }

                case 16:
                {
                    //PRICELIST
                    Console.Clear();
                    Console.WriteLine("PRICELIST OF THE CURRENT LINE OR TOTAL PRICE LIST(1-2)");
                    int choicepricelist = int.Parse(Console.ReadLine());
                    switch (choicepricelist)
                    {
                    case 1:
                    {
                        chosenLine.PriceList();
                        break;
                    }

                    default:
                    {
                        for (int i = 0; i < gn.AirlineArray.Length; i++)
                        {
                            gn.AirlineArray[i].PriceList();
                        }
                        break;
                    }
                    }
                    Console.WriteLine("Press any key");
                    Console.ReadLine();
                    break;
                }

                //Sort all passengers by date of birth
                case 17:
                {
                    for (int i = 0; i < gn.AirlineArray.Length; i++)
                    {
                        if (gn.AirlineArray[i]?.ArrivalList != null)
                        {
                            foreach (Flight item in gn.AirlineArray[i]?.ArrivalList)
                            {
                                //InputUtil.
                                item.Customers = Passenger.Sortbyage(item?.Customers);
                                Console.WriteLine("Ok!!");
                            }
                        }
                        if (gn.AirlineArray[i]?.DepartureFlightlist != null)
                        {
                            foreach (Flight item in gn.AirlineArray[i]?.DepartureFlightlist)
                            {
                                item.Customers = Passenger.Sortbyage(item?.Customers);
                            }
                        }
                    }
                    break;
                }

                case 18:
                {
                    loger.EndProgram();
                    return;
                }

                default:
                {
                    Console.WriteLine("A wrong choice!!!Repeat");
                    break;
                }
                }
            }
        }
 public void InitialDataGenerator()
 {
     AirlineArray[0] = new Airline("AirFrance", "A45678", true, new DateTime(2028, 3, 15));
     flighttoadd     = new Flight(new DateTime(2016, 09, 24), 183, "Paris", "8", KindOfFlight.Arrival,
                                  FlightStatus.CheckIn, new List <Ticket>(), false);
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Business, (int)TicketCategory.CategoryA, 1200.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Business, (int)TicketCategory.CategoryB, 1050.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Business, (int)TicketCategory.CategoryC, 900.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Economy, (int)TicketCategory.CategoryA, 850.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Economy, (int)TicketCategory.CategoryB, 700.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Economy, (int)TicketCategory.CategoryC, 550.00m));
     flighttoadd.Customers    = new Passenger[40];
     flighttoadd.Customers[0] = new Passenger("Oleg", "Vasin", "russian", new DateTime(1970, 8, 18), "MF946941", 653656565, Sex.Male,
                                              flighttoadd.TicketList.Find((x => (x.TicketCategory == TicketCategory.CategoryB && x.ClassofTicket == TicketClass.Business))));
     flighttoadd.Customers[1] = new Passenger("Anna", "Mohnach", "ukrainian", new DateTime(1988, 9, 11), "MK172693", 568345671, Sex.Female,
                                              flighttoadd.TicketList.Find((x => (x.TicketCategory == TicketCategory.CategoryA && x.ClassofTicket == TicketClass.Economy))));
     flighttoadd.Customers[2] = new Passenger("Salam", "Abdelkadir", "arab", new DateTime(1987, 11, 23), "YE689856", 183873891, Sex.Male,
                                              flighttoadd.TicketList.Find((x => (x.TicketCategory == TicketCategory.CategoryC && x.ClassofTicket == TicketClass.Business))));
     flighttoadd.Customers[3] = new Passenger("Sirik", "Sergei", "jew", new DateTime(1975, 8, 18), "MP894512", 825433489, Sex.Male,
                                              flighttoadd.TicketList.Find((x => (x.TicketCategory == TicketCategory.CategoryC && x.ClassofTicket == TicketClass.Economy))));
     AirlineArray[0].ArrivalList         = new List <Flight>();
     AirlineArray[0].DepartureFlightlist = new List <Flight>();
     AirlineArray[0].AddToArray(KindOfFlight.Arrival, flighttoadd);
     flighttoadd = new Flight(new DateTime(2016, 09, 07), 211, "London", "21", KindOfFlight.Departure,
                              FlightStatus.CheckIn, new List <Ticket>(), false);
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Business, (int)TicketCategory.CategoryA, 1240.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Business, (int)TicketCategory.CategoryB, 1050.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Business, (int)TicketCategory.CategoryC, 950.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Economy, (int)TicketCategory.CategoryA, 820.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Economy, (int)TicketCategory.CategoryB, 600.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Economy, (int)TicketCategory.CategoryC, 350.00m));
     flighttoadd.Customers    = new Passenger[40];
     flighttoadd.Customers[0] = new Passenger("Pablo", "Alonso", "spain", new DateTime(), "uT782768", 451798061, Sex.Male,
                                              flighttoadd.TicketList.Find((x => (x.TicketCategory == TicketCategory.CategoryA && x.ClassofTicket == TicketClass.Business))));
     flighttoadd.Customers[1] = new Passenger("Roman", "Zelensky", "ukrainian", new DateTime(), "MK885561", 917623019, Sex.Male,
                                              flighttoadd.TicketList.Find((x => (x.TicketCategory == TicketCategory.CategoryB && x.ClassofTicket == TicketClass.Economy))));
     flighttoadd.Customers[2] = new Passenger("Oleg", "Shliahtin", "ukrainian", new DateTime(), "MK096714567", 861245013, Sex.Male,
                                              flighttoadd.TicketList.Find((x => (x.TicketCategory == TicketCategory.CategoryB && x.ClassofTicket == TicketClass.Economy))));
     flighttoadd.Customers[3] = new Passenger("Bubu", "Camara", "african", new DateTime(), "ZX735612", 984503781, Sex.Male,
                                              flighttoadd.TicketList.Find((x => (x.TicketCategory == TicketCategory.CategoryC && x.ClassofTicket == TicketClass.Economy))));
     AirlineArray[0].AddToArray(KindOfFlight.Departure, flighttoadd);
     flighttoadd = new Flight(new DateTime(2016, 10, 01), 132, "Nashville", "14", KindOfFlight.Departure,
                              FlightStatus.CheckIn, new List <Ticket>(), false);
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Business, (int)TicketCategory.CategoryA, 1880.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Business, (int)TicketCategory.CategoryB, 1500.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Business, (int)TicketCategory.CategoryC, 1350.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Economy, (int)TicketCategory.CategoryA, 900.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Economy, (int)TicketCategory.CategoryB, 700.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Economy, (int)TicketCategory.CategoryC, 550.00m));
     flighttoadd.Customers    = new Passenger[40];
     flighttoadd.Customers[0] = new Passenger("Karina", "Shilova", "ukrainian", new DateTime(), "MK156789", 614581904, Sex.Female,
                                              flighttoadd.TicketList.Find((x => (x.TicketCategory == TicketCategory.CategoryB && x.ClassofTicket == TicketClass.Economy))));
     flighttoadd.Customers[1] = new Passenger("Yuriy", "Pavlenko", "ukrainian", new DateTime(), "MK451245", 498123087, Sex.Male,
                                              flighttoadd.TicketList.Find((x => (x.TicketCategory == TicketCategory.CategoryC && x.ClassofTicket == TicketClass.Economy))));
     flighttoadd.Customers[2] = new Passenger("Us", "Pavel", "ukrainian", new DateTime(), "MK290190", 124518901, Sex.Male,
                                              flighttoadd.TicketList.Find((x => (x.TicketCategory == TicketCategory.CategoryC && x.ClassofTicket == TicketClass.Economy))));
     flighttoadd.Customers[3] = new Passenger("Us", "Natalia", "ukrainian", new DateTime(), "MK497712", 498123087, Sex.Female,
                                              flighttoadd.TicketList.Find((x => (x.TicketCategory == TicketCategory.CategoryC && x.ClassofTicket == TicketClass.Economy))));
     AirlineArray[0].AddToArray(KindOfFlight.Departure, flighttoadd);
     flighttoadd = new Flight(new DateTime(2016, 11, 26), 120, "Montreal", "7", KindOfFlight.Arrival,
                              FlightStatus.Delayed, new List <Ticket>(), false);
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Business, (int)TicketCategory.CategoryA, 1740.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Business, (int)TicketCategory.CategoryB, 1500.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Business, (int)TicketCategory.CategoryC, 1200.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Economy, (int)TicketCategory.CategoryA, 850.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Economy, (int)TicketCategory.CategoryB, 700.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Economy, (int)TicketCategory.CategoryC, 400.00m));
     flighttoadd.Customers    = new Passenger[40];
     flighttoadd.Customers[0] = new Passenger("Mario", "Balotelli", "italian", new DateTime(), "CY561823", 501756891, Sex.Male,
                                              flighttoadd.TicketList.Find((x => (x.TicketCategory == TicketCategory.CategoryA && x.ClassofTicket == TicketClass.Business))));
     flighttoadd.Customers[1] = new Passenger("Fedor", "Zinchenko", "belorussian", new DateTime(), "MK667712", 981234561, Sex.Male,
                                              flighttoadd.TicketList.Find((x => (x.TicketCategory == TicketCategory.CategoryC && x.ClassofTicket == TicketClass.Economy))));
     flighttoadd.Customers[2] = new Passenger("Yuriy", "Scherbak", "greek", new DateTime(), "MK615478", 990145679, Sex.Male,
                                              flighttoadd.TicketList.Find((x => (x.TicketCategory == TicketCategory.CategoryA && x.ClassofTicket == TicketClass.Economy))));
     AirlineArray[0].AddToArray(KindOfFlight.Arrival, flighttoadd);
     flighttoadd = new Flight(new DateTime(2016, 10, 01), 177, "Sydney", "7", KindOfFlight.Departure, FlightStatus.Delayed, new List <Ticket>(), false);
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Business, (int)TicketCategory.CategoryA, 2450.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Business, (int)TicketCategory.CategoryB, 2200.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Business, (int)TicketCategory.CategoryC, 2000.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Economy, (int)TicketCategory.CategoryA, 1650.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Economy, (int)TicketCategory.CategoryB, 1300.00m));
     flighttoadd.TicketList.Add(new Ticket((int)TicketClass.Economy, (int)TicketCategory.CategoryC, 850.00m));
     flighttoadd.Customers    = new Passenger[40];
     flighttoadd.Customers[0] = new Passenger("Vitaliy", "Bolshak", "portugal", new DateTime(), "FF567890", 322554354, Sex.Male,
                                              flighttoadd.TicketList.Find((x => (x.TicketCategory == TicketCategory.CategoryA && x.ClassofTicket == TicketClass.Economy))));
     flighttoadd.Customers[1] = new Passenger("Ekaterina", "Golshtein", "german", new DateTime(), "MK780544", 836256813, Sex.Female,
                                              flighttoadd.TicketList.Find((x => (x.TicketCategory == TicketCategory.CategoryB && x.ClassofTicket == TicketClass.Economy))));
     AirlineArray[0].AddToArray(KindOfFlight.Departure, flighttoadd);
     AirlineArray[1] = new Airline("Luftganza", "B45678", true, new DateTime(2024, 7, 25));
     AirlineArray[2] = new Airline("Aerosweet", "B47326", true, new DateTime(2020, 11, 1));
     AirlineArray[3] = new Airline("FlyEmirates", "B67890", true, new DateTime(2038, 4, 9));
     AirlineArray[4] = new Airline("RoyalLines", "Y45678", true, new DateTime(2028, 6, 8));
 }
        public static Airline CheckAirline(Airline[] AirlineArray)
        {
            string        licensenumber;
            string        airlinename;
            int           incrementAirlineArray = 4;
            FindAnAirline fn = new FindAnAirline
                               (
                () =>
            {
                Console.WriteLine("Enter an Airline to work with:");
                string readAirline = Console.ReadLine();
                for (int i = 0; i < AirlineArray.Length; i++)
                {
                    if (AirlineArray[i]?.AirlineName != null)
                    {
                        if (AirlineArray[i].AirlineName == readAirline)
                        {
                            return(AirlineArray[i]);
                        }
                    }
                }
                return(null);
            }
                               );
            Airline chosenLine = fn();

            if (chosenLine == null)
            {
                Console.WriteLine("The airline you have selected doesn't exist." +
                                  "Do you wish to fill a new one (Y/N)");
                bool yn = ("Y" == Console.ReadLine() ? true : false);
                if (yn)
                {
                    Console.WriteLine("Enter a name of AirLine");
                    incrementAirlineArray++;
                    try
                    {
                        Console.WriteLine("Enter a license nimber of an airlinecompany");
                        licensenumber = Console.ReadLine();
                        airlinename   = Console.ReadLine();
                        AirlineArray[incrementAirlineArray] = new Airline(airlinename, licensenumber,
                                                                          true, InputUtil.TimeEnter());
                        while (true)
                        {
                            Console.WriteLine("To continue filling an information of a current airline press /Y/ or N to stop");
                            string choice = Console.ReadLine();
                            if (choice.ToUpper() != "Y")
                            {
                                break;
                            }
                            AirlineArray[incrementAirlineArray].AddItem();
                        }
                        chosenLine = AirlineArray[incrementAirlineArray];
                    }
                    catch (IndexOutOfRangeException excep)
                    {
                        Console.WriteLine(excep.Message);
                        return(null);
                    }
                }
            }
            return(chosenLine);
        }
 public static void DeleteAirline(Airline company)
 {
     company.CancelLicense();
 }