예제 #1
0
        static void AddClient()                                                      // Метод создания нового клиента и сохранения данных в файл
        {
            try                                                                      // точка старта обработки исключений
            {
FlagName:                                                                            // точка возврата

                Console.Write("\n Full name:");                                      // Вывод текста на экран
                string name = Console.ReadLine();                                    // Считывание строки

                if (name.Length < 4)                                                 //проверка на длинну строки
                {
                    Console.Write("\n Wrong input! Name must be greater 4 symbol!"); // вывод на экран сообщения
                    Console.ReadKey();                                               // одидание ввода символа
                    goto FlagName;                                                   // отправиться к точке возврата
                }

FlagPas:
                Console.Write("\n Passport number:"); // Вывод текста на экран
                string passport = Console.ReadLine(); // Считывание строки

                if (passport.Length < 8)
                {
                    Console.Write("\n Wrong input! Passport  must be greater 8! "); // вывод на экран сообщения
                    Console.ReadKey();                                              // одидание ввода символа
                    goto FlagPas;                                                   // отправиться к точке возврата
                }

                Console.Write("\n--------------------------------------------"); // рамка
                ShowTariff();                                                    // вызов метода отобрадения всех тарифов
                Console.Write("\n--------------------------------------------"); // рамка


                Console.Write("\n Input name TARIFF:");           // Вывод текста на экран
                string tar = Console.ReadLine();                  // Считывание строки

FlagCount:                                                        // точка возврата

                Console.Write(" Count of TICKETS: ");             // Вывод текста на экран
                int count = Int32.Parse(Console.ReadLine());      // Считывание строки

                if (count < 1)                                    //проверка на идиотизм
                {
                    Console.Write("\n Count must be greater 0 "); // вывод на экран сообщения
                    Console.ReadKey();                            // одидание ввода символа
                    Console.Clear();                              // чистка консоли
                    goto FlagCount;                               // отправиться к точке возврата
                }



                // Find tariff in file

                StreamReader readT = new StreamReader("base.txt", Encoding.Default);                                                                    // Открытие файла для чтения

                string line;                                                                                                                            // объявление строчной переменной
                while ((line = readT.ReadLine()) != null)                                                                                               // цикл, считыввающий файл построчно, пока там есть информация
                {
                    string[] var = line.Split(' ');                                                                                                     // разбиение строки на строчный массив
                    if (var[0] == tar)                                                                                                                  // проверка на искомый тариф
                    {
                        Tariff t = new Tariff(var[0], var[1], var[2], Convert.ToDateTime(var[3]), Convert.ToDateTime(var[4]), Convert.ToInt32(var[5])); // запись тарифа из файла

                        Client client = new Client(name, passport, t, count, Sale(t));                                                                  // создание объекта клинт

                        StreamWriter save = new StreamWriter("clients.txt", true, Encoding.Default);                                                    // открыте файла для записи (режим доавления строки)
                        save.WriteLine(client);                                                                                                         // сохранение строки в файл
                        save.Close();                                                                                                                   // закрытие файла записи
                        break;                                                                                                                          // прерывание цикла
                    }
                }
                readT.Close();                      // закрытие файла чтения
            }
            catch (Exception e)                     // ловим все исключения
            {
                Console.Clear();                    // чистка экрана консоли
                Console.WriteLine(" " + e.Message); // вывод текста ошибки
                Console.ReadKey();                  // ожидание ввода символа
                AddClient();                        // вызов метода занова
            }
        }
예제 #2
0
        /*
         *   ADD TARIFF
         *
         * **/

        public static void AddTariff()                                     //метод добавления тарифа
        {
            try                                                            //объявления начала точки обработыки исключений
            {
FlagName:                                                                  //точка возврата для имени
                Console.Write("\n TARIFF NAME: ");                         // вывод на экран сообщения
                string nameTarrif = Console.ReadLine();                    //считывание строки

                if (nameTarrif.Length < 4)                                 //проверка на длинну строки
                {
                    Console.Write("\n You must input greater 4 sybhol: "); // вывод на экран сообщения
                    Console.ReadKey();                                     //ожидание ввода символа
                    goto FlagName;                                         //отправиться к точке возврата
                }

                Console.Write("\n--------------------------------------------"); //вывод рамки

FlagDep:                                                                         //точка возвращения
                Console.Write("\n POINT OF DEPARTURE: ");                        // вывод на экран сообщения
                string departure = Console.ReadLine();                           //считывание строки

                if (departure.Length < 4)                                        //проверка на длинну строки
                {
                    Console.Write("\n You must input greater 4 sybhol: ");       // вывод на экран сообщения
                    Console.ReadKey();                                           //ожидание ввода символа
                    goto FlagDep;                                                //отправиться к точке возврата
                }

                Console.WriteLine("\n DEPARTURE DATE");                          // вывод на экран сообщения

                Console.Write(" Year: ");                                        // вывод на экран сообщения
                int year = Int32.Parse(Console.ReadLine());                      // считывание года
                Console.Write(" Month: ");                                       // вывод на экран сообщения
                int month = Int32.Parse(Console.ReadLine());                     // считывание месяца
                Console.Write(" Day: ");                                         // вывод на экран сообщения
                int day = Int32.Parse(Console.ReadLine());                       // считывание дня

                DateTime dateOfDeparture = new DateTime(year, month, day);       // создание объекта даты

                Console.Write("\n--------------------------------------------"); // Рамка

FlagArr:                                                                         // точка возврата
                Console.Write("\n POINT OF ARRIVAL: ");                          // вывод на экран сообщения
                string arrival = Console.ReadLine();                             // считывание строки

                if (arrival.Length < 4)                                          //проверка на длинну строки
                {
                    Console.Write("\n You must input greater 4 sybhol: ");       // вывод на экран сообщения
                    Console.ReadKey();                                           // одидание ввода символа
                    goto FlagArr;                                                // отправиться к точке возврата
                }

FlagDate:                                                                                                             // точка возврата
                Console.WriteLine("\n ARRIVAL DATE");                                                                 // вывод на экран сообщения
                Console.Write(" Year: ");                                                                             // вывод на экран сообщения
                year = Int32.Parse(Console.ReadLine());                                                               // считывание года
                Console.Write(" Month: ");                                                                            // вывод на экран сообщения
                month = Int32.Parse(Console.ReadLine());                                                              // считывание месяца
                Console.Write(" Day: ");                                                                              // вывод на экран сообщения
                day = Int32.Parse(Console.ReadLine());                                                                // считывание дня

                DateTime dateOfArrival = new DateTime(year, month, day);                                              // создание объекта даты

                if (dateOfDeparture > dateOfArrival)                                                                  // проверка на корректность ввода даты
                {
                    Console.WriteLine("\n /(0 o 0)/ Arrival Date must be greater than the Departure Date! Retruy! "); // вывод на экран сообщения
                    goto FlagDate;                                                                                    // отправиться к точке возврата
                }

FlagCost:                                                                       // точка возврата
                Console.Write("\n COST of tarrif: ");                           // вывод на экран сообщения
                double cost = double.Parse(Console.ReadLine());                 // чтение числа
                if (cost < 1)                                                   // проверка на нулевую или отрицательную цену
                {
                    Console.WriteLine("\n /(0 o 0)/ Too small cost! Retruy! "); // вывод на экран сообщения
                    goto FlagCost;                                              // отправиться к точке возврата
                }

                StreamWriter save = new StreamWriter("base.txt", true, Encoding.Default);                      // открыте файла для записи (режим доавления строки)

                Tariff tar = new Tariff(nameTarrif, departure, arrival, dateOfDeparture, dateOfArrival, cost); // создание объекта класса Тариф
                save.WriteLine(tar);                                                                           // записать в файл параметров объекта
                save.Close();                                                                                  // Закрытие файла
            }
            catch (Exception e)                                                                                // ловим все исключительные ситуации
            {
                Console.WriteLine(" " + e.Message);                                                            // вывод на экран текста ошибки
                Console.ReadKey();                                                                             // ожидание ввода символа
                Console.Clear();                                                                               // чистка консоли
                AddTariff();                                                                                   // вызов метода
            }
        }