コード例 #1
0
ファイル: Program.cs プロジェクト: AntoshkaK/repant
        static void Main(string[] args)
        {
            int action;

            BaseFlight FlightOb = new BaseFlight();
            List<BaseFlight> AllFlight = new List<BaseFlight>();
            
            do
            {
                Console.WriteLine(@"Select the action :
                    1. Create/add information about flight/passanger/price;
                    2. Edit information about flight/passanger/price;
                    3. Delete information about flight/passanger;
                    4. Sourch;                          
                    5. Emergency information;
                    6. Exit;
                    ");

               action = int.Parse(Console.ReadLine());

                switch (action)
                {
                    #region Create
                    case 1: //create
                        do
                        {
                            Console.WriteLine("Create");
                            action = Create.Chouse();
                            switch(action)
                            {
                                case 1: //Flight (Arrive/Departure)
                                Create.CreateFligh(FlightOb);                               
                                FlightOb.Flight_L.Add(new Flight(Create.flight_number, Create.city, Create.port, Create.airline, Create.terminal, Create.gate, Create.dt, Create.flightstatus, Create.num));
                                break;    
                                case 2: //Passanger
                                    if(!FlightOb.chek_f)
                                    {
                                        Console.WriteLine("Create flight first");
                                        break;
                                    }
                                    Create.CreatePassanger(FlightOb);
                                    Flight flob = new Flight();
                                    foreach(Flight fl in FlightOb.Flight_L)
                                    {
                                        if (fl.flight_number == Create.sfn) flob=fl;
                                    }
                                    FlightOb.Passenger_L.Add(new Passenger(Create.name, Create.second_name, Create.nationality, Create.passport, Create.date_birthday, Create.sex, flob));
                                    break;
                                case 3: //Price
                                    if(!FlightOb.chek_f)
                                    {
                                        Console.WriteLine("Create flight first");
                                        break;
                                    }
                                    Create.CreatePrice(FlightOb);
                                    Flight flob1 = new Flight();
                                    foreach(Flight fl in FlightOb.Flight_L)
                                    {
                                        if (fl.flight_number == Create.sfn) flob1=fl;
                                    }
                                    FlightOb.Price_L.Add(new Pricelist(Create.clas, Create.price, flob1));

                                    break;
                            }
                                
                        } while (action != 4);
                        break;
                    #endregion Create
                    #region Edit
                    case 2: //edit
                        do
                        {
                            Console.WriteLine("Edit");
                            action = Create.Chouse();
                            switch (action)
                            {
                                case 1:
                                    if (!FlightOb.chek_f)
                                    {
                                        Console.WriteLine("You need to create first");
                                        break;
                                    }                                 
                                            Show.Show_Flight(FlightOb);
                                            Console.WriteLine("Enter the number:");
                                            int k3 = int.Parse(Console.ReadLine());
                                            Create.CreateFligh(FlightOb);
                                            FlightOb.Edit(new Flight(Create.flight_number, Create.city, Create.port, Create.airline, Create.terminal, Create.gate, Create.dt, Create.flightstatus, Create.num), k3 - 1);
                                            break;                                       
                                case 2:
                                    if (!FlightOb.chek_p)
                                    {
                                        Console.WriteLine("Not found");
                                        break;
                                    }
                                    Show.Show_Passenger(FlightOb);
                                    Console.WriteLine("Enter the number:");
                                    int k = int.Parse(Console.ReadLine());
                                    Create.CreatePassanger(FlightOb);
                                    Flight flob1 = new Flight();
                                    foreach(Flight fl in FlightOb.Flight_L)
                                    {
                                        if (fl.flight_number == Create.sfn) flob1=fl;
                                    }
                                    FlightOb.Edit(new Passenger(Create.name, Create.second_name, Create.nationality, Create.passport, Create.date_birthday, Create.sex, flob1), k - 1);
                                    break;
                                case 3:
                                    if (!FlightOb.chek_pri)
                                    {
                                        Console.WriteLine("Not found");
                                        break;
                                    }
                                    Show.Show_Price(FlightOb);
                                    Console.WriteLine("Enter the number:");
                                    int p = int.Parse(Console.ReadLine());
                                    Create.CreatePrice(FlightOb);
                                    Flight flob2 = new Flight();
                                    foreach(Flight fl in FlightOb.Flight_L)
                                    {
                                        if (fl.flight_number == Create.sfn) flob2=fl;
                                    }
                                    FlightOb.Edit(new Pricelist(Create.clas, Create.price, flob2), p - 1);

                                    break;
                            }
                        } while (action != 4);
                        break;

                    #endregion Edit
                    #region Delete
                    case 3: //delete
                        do
                        {
                            Console.WriteLine("Delete");
                            action = Create.Chouse();
                            switch (action)
                            {
                                case 1:
                                    if (!FlightOb.chek_f)
                                    {
                                        Console.WriteLine("You need to create first");
                                        break;
                                    }                               
                                            Show.Show_Flight(FlightOb);
                                            Console.WriteLine("Enter the number:");
                                            int k = int.Parse(Console.ReadLine());
                                            k = k - 1;
                                            FlightOb.Delete(new Flight(), k);
                                            break;                                      

                                case 2:
                                    if (!FlightOb.chek_p)
                                    {
                                        Console.WriteLine("You need to create first");
                                        break;
                                    }
                                    Show.Show_Passenger(FlightOb);
                                    Console.WriteLine("Enter the number:");
                                    int k2 = int.Parse(Console.ReadLine());
                                    k2 = k2 - 1;
                                    FlightOb.Delete(new Passenger(), k2);
                                    break;
                                case 3:
                                    if (!FlightOb.chek_pri)
                                    {
                                        Console.WriteLine("You need to create first");
                                        break;
                                    }
                                    Show.Show_Price(FlightOb);
                                    Console.WriteLine("Enter the number:");
                                    int p = int.Parse(Console.ReadLine());
                                    p = p - 1;
                                    FlightOb.Delete(new Pricelist(), p);

                                    break;
                            }

                        } while (action != 3);
                        break;
                    #endregion Delete
                    case 4:
                        do
                        {
                            Console.WriteLine(@"Choose the search parametrs:
1. Search by the flight number;
2. Search by the arrival/departure port;
3. Search by the time of arrival;
4. Search the flight which is the nearest (1 hour);
5. Search passenger by name and second name;
6. Search passenger by passport;
7. Search passenger by flight number;
8. Search flight number by price;
9. Exit;");
                            action = int.Parse(Console.ReadLine());
                            switch(action)
                            {
                                case 1:
                                    Console.WriteLine("Enter flight number: ");
                                    int f_n = int.Parse(Console.ReadLine());
                                    Search.search_number_port(FlightOb, f_n, 1);
                                    break;
                                case 2:
                                    Console.WriteLine("Enter port: ");
                                    int port = int.Parse(Console.ReadLine());
                                    Search.search_number_port(FlightOb, port, 2);
                                    break;
                                case 3:
                                    Console.WriteLine("Enter date/time in the format year.month.day hour:minute ");
                                    string datetime1 = Console.ReadLine();
                                    DateTime dt1 = Convert.ToDateTime(datetime1);
                                    Search.search_time_of_arrival(FlightOb, dt1);
                                    break;
                                case 4:
                                    Console.WriteLine("Enter port: ");
                                    int port1 = int.Parse(Console.ReadLine());
                                    Console.WriteLine("Enter date/time in the format year.month.day hour:minute ");
                                    string datetime2 = Console.ReadLine();
                                    DateTime dt2 = Convert.ToDateTime(datetime2);
                                    Search.search_one_hour(FlightOb, port1, dt2);
                                    break;
                                case 5:
                                    Console.WriteLine("Enter name:");
                                    string name = Console.ReadLine();
                                    Console.WriteLine("Enter second name:");
                                    string second_name = Console.ReadLine();
                                    Search.search_passenger_name(FlightOb, name, second_name);
                                    break;
                                case 6:
                                    Console.WriteLine("Enter passport:");                                    
                                    string passport = Console.ReadLine();
                                    Search.search_passenger_passport(FlightOb, passport);
                                    break;
                                case 7:
                                    Console.WriteLine("Enter flight number:");
                                    int f_num = int.Parse(Console.ReadLine());
                                    Search.search_passenger_flight_number(FlightOb, f_num);
                                    break;
                                case 8:
                                    Console.WriteLine("Enter price:");
                                    double pr1 = double.Parse(Console.ReadLine());
                                    Search.search_flight_number_by_price(FlightOb, pr1);
                                    break;                                    
                            }
                            
                        } while (action != 9);
                        break;
                case 5:
                        
                        break;
                }
                              
            }
            while (action != 6);
        }