Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.Title = "Airport information panel. Sukhov I. 2016-02-05"; /*Заголовок консольной формы*/
            String[,] Arrivals_Array = new string[100, 7];          /*Создаем масив с данными по прилетам*/
            /////////////////////////////////////////////////////////////////////////////////////////////////////////
            //тестовый масив прилетов
            /*рейс 1*/
            Arrivals_Array[0, 0] = "U571"; Arrivals_Array[0, 1] = "Berlin Fly"; Arrivals_Array[0, 2] = "16:45";
            Arrivals_Array[0, 3] = "Munich"; Arrivals_Array[0, 4] = "D"; Arrivals_Array[0, 5] = "Delayed"; Arrivals_Array[0, 6] = "12";
            /*рейс 2*/
            Arrivals_Array[1, 0] = "A015"; Arrivals_Array[1, 1] = "Turkish Air"; Arrivals_Array[1, 2] = "17:45";
            Arrivals_Array[1, 3] = "Istambul"; Arrivals_Array[1, 4] = "A"; Arrivals_Array[1, 5] = "Flight"; Arrivals_Array[1, 6] = "3";
            /*рейс 3*/
            Arrivals_Array[2, 0] = "M117"; Arrivals_Array[2, 1] = "MAU"; Arrivals_Array[2, 2] = "10:30";
            Arrivals_Array[2, 3] = "Kyiv/Borispil"; Arrivals_Array[2, 4] = "B"; Arrivals_Array[2, 5] = "Arrived"; Arrivals_Array[2, 6] = "9";
            /*рейс 4*/
            Arrivals_Array[3, 0] = "N737"; Arrivals_Array[3, 1] = "NY Air"; Arrivals_Array[3, 2] = "19:20";
            Arrivals_Array[3, 3] = "New York"; Arrivals_Array[3, 4] = "C"; Arrivals_Array[3, 5] = "Arrived"; Arrivals_Array[3, 6] = "6";
            /*рейс 5*/
            Arrivals_Array[4, 0] = "G737"; Arrivals_Array[4, 1] = "Georgia Fly"; Arrivals_Array[4, 2] = "11:20";
            Arrivals_Array[4, 3] = "Tbilisi"; Arrivals_Array[4, 4] = "A"; Arrivals_Array[4, 5] = "Flight"; Arrivals_Array[4, 6] = "4";
            /*рейс 6*/
            Arrivals_Array[5, 0] = "K190"; Arrivals_Array[5, 1] = "Air Astana"; Arrivals_Array[5, 2] = "23:55";
            Arrivals_Array[5, 3] = "Astana"; Arrivals_Array[5, 4] = "D"; Arrivals_Array[5, 5] = "Flight"; Arrivals_Array[5, 6] = "7";
            /////////////////////////////////////////////////////////////////////////////////////////////////////////
            Main_Menu Main_Menu_List = new Main_Menu();             /*Создаем экземпляр обьекта типа "главное меню"*/
            Arrivals Arrivals_table = new Arrivals();               /*создаем экземпляр обьекта типа "таблица прибытий"*/
            Evacuation Evacuation = new Evacuation();
            ConsoleKeyInfo Console_keyInfo;                         /*Создаем переменную содержит "нажатую клавишу"*/
            Return_To_Main_Menu:                                    /*Метка возврта к главному меню*/
            Main_Menu_List.Show_Main_Menu();                        /*Вызываем метод по отображению главного меню*/
            /*закрытый цикл по пунктам главного меню*/
            while (1==1)
            {
                Console_keyInfo = Console.ReadKey();                /*Считываем нажатую клавишу в переменную*/
                /*При нажатии стрелки вверх - переходим на один пункт меню вверх*/
                if(Console_keyInfo.Key == ConsoleKey.UpArrow)
                   Main_Menu_List.Menu_Position_Number = --Main_Menu_List.Menu_Position_Number;
                /*При нажатии стрелки вниз - переходим на один пункт меню вниз*/
                if (Console_keyInfo.Key == ConsoleKey.DownArrow)
                   Main_Menu_List.Menu_Position_Number = ++Main_Menu_List.Menu_Position_Number;
                /*При нажатии клавиши E - возврат к пункту меню EXIT*/
                if (Console_keyInfo.Key == ConsoleKey.E)
                    Main_Menu_List.Menu_Position_Number = 7;
                /*При нажатии Enter - выход из цикла*/
                if (Console_keyInfo.Key == ConsoleKey.Enter)
                    break;
                Main_Menu_List.Show_Main_Menu();                    /*Вызываем метод по отображению главного меню*/
            };

            /////////////////////////////////////////////////////////////////////////////////////////////////////////////
            /*Блок работы с таблицами прилетов Arrivals*/

            ////////////////////////////////////////////
            /*При выборе пункта меню "SHOW ARRIVALS" запускаем панель отображения прилетов*/
            /*Если пункт меню==1 тогда выводим таблицу прибытий "Arrivals"*/
            if (Main_Menu_List.Menu_Position_Number==1)
            {
                Arrivals_table.Show_Arrival_Table_Head();           /*прорисовываем заголовок таблицы*/
                Arrivals_table.Show_Arrival_Table_Data(Arrivals_Array, 1, "No Sort"); /*прорисовываем часть таблицы с данными о прилетах*/
                Arrivals_table.Show_Arrival_Table_End();            /*прорисовываем концовку таблицы*/
                while (1==1)                                        /*Закрытый цикл с переходами по столбцам таблицы*/
                {
                    Console_keyInfo = Console.ReadKey();            /*Считываем нажатую клавишу в переменную*/
                    /*при нажатии стрелки влево- переходим к следующему столбцу*/
                    if (Console_keyInfo.Key == ConsoleKey.RightArrow)
                        Arrivals_table.Arrival_Table_Collumn_Num = ++Arrivals_table.Arrival_Table_Collumn_Num;
                    /*при нажатии стрелки вправо- переходим к предыдущему столбцу*/
                    if (Console_keyInfo.Key == ConsoleKey.LeftArrow)
                        Arrivals_table.Arrival_Table_Collumn_Num = --Arrivals_table.Arrival_Table_Collumn_Num;
                    Arrivals_table.Show_Arrival_Table_Head();
                    /*отслеживаем нажатия клавиш ввре/вниз для сортировки выводимых данных*/
                    switch (Console_keyInfo.Key)
                    {
                        case ConsoleKey.UpArrow:
                            Arrivals_table.Show_Arrival_Table_Data(Arrivals_Array, Arrivals_table.Arrival_Table_Collumn_Num,"ASC");
                            break;
                        case ConsoleKey.DownArrow:
                            Arrivals_table.Show_Arrival_Table_Data(Arrivals_Array, Arrivals_table.Arrival_Table_Collumn_Num, "DESC");
                            break;
                        default:
                            Arrivals_table.Show_Arrival_Table_Data(Arrivals_Array, Arrivals_table.Arrival_Table_Collumn_Num, "No sort");
                            break;
                    }
                    Arrivals_table.Show_Arrival_Table_End();
                    /*при нажатии клавиши E- выходим в начало программы, в главное меню*/
                    if (Console_keyInfo.Key == ConsoleKey.E)
                        goto Return_To_Main_Menu;                                        /*метка переходав в начало программы и запуска главного меню*/
                };
            };

            ////////////////////////////////////////////
            /*При выборе пункта меню "Add new flygth to Arrival" зупаскаем панель отображения прилетов*/
            string[] New_ArrivaL = new string[7];
            if (Main_Menu_List.Menu_Position_Number == 3)
            {
                New_ArrivaL = Arrivals_table.Arrivals_Add_New_Arrival();
                /*добавляем новую запись в наш масив прилетов*/
                if (New_ArrivaL[0] != null & New_ArrivaL[0] != "")
                    for (Int32 i = 1; i <= Arrivals_Array.GetLength(0); i++)
                    {
                        if (Arrivals_Array[i - 1, 0] == null)
                        {
                            for (Int32 j = 1; j <= 7; j++)
                            {
                                Arrivals_Array[i - 1, j - 1] = New_ArrivaL[j - 1];
                            }
                            break;
                        }
                    }
                goto Return_To_Main_Menu;
            }

            ///////////////////////////////////////////
            /*запускаем окно эвакуации*/
            if (Main_Menu_List.Menu_Position_Number == 8)
            {
                Evacuation.Evacuation_Screen();                                     /*выхываем меню создания нового рейса прибытия*/
                Console.ReadLine();
            }
        }