示例#1
0
        public static void RecordFlight()
        {
            var Records = DataContext.Tables.Where(x => x.DateTimeStart > DateTime.Now && x.CurrentCountPassenger < x.MaxCountPassenger).ToList();

            TableController.ShowTables(Records);
            Console.WriteLine($"\n ЗАПИСАТЬСЯ НА РЕЙС\n");
            Console.WriteLine("Введите ID рейса, на который хотите записаться: ");
            Console.WriteLine($"Баланс составляет: {AccountController.User.Money}rub");
            int iNumberPick;

            do
            {
            } while (!int.TryParse(Console.ReadLine(), out iNumberPick));

            Table table = DataContext.Tables.Find(x => x.Id == iNumberPick && x.DateTimeStart > DateTime.Now && x.CurrentCountPassenger < x.MaxCountPassenger);

            if (table != null)
            {
                if (AccountController.User.Money >= table.Price)
                {
                    Console.WriteLine("Вы записались на рейс");
                    AccountController.User.Money -= table.Price;

                    table.CurrentCountPassenger++;

                    var flight = new RecordFlight(iNumberPick, AccountController.User.Id);
                    DataContext.RecordFlights.Add(flight);
                    Console.WriteLine($"Баланс составляет: {AccountController.User.Money}rub");
                }
                else
                {
                    Console.WriteLine("У вас недостаточно средств");
                    Console.WriteLine($"Баланс составляет: {AccountController.User.Money}rub");
                }
            }
            else
            {
                Console.WriteLine($"Рейс с ID: {iNumberPick} отсутствует");
            }
        }
示例#2
0
        public static void LoadData()
        {
            // Извлечение информации из списка городов
            using (StreamReader pReader = new StreamReader(PathCityFile))
            {
                string sLine;
                while ((sLine = pReader.ReadLine()) != null)
                {
                    string[] Parse = sLine.Split(cDelimiter);
                    City     pCity = new City(Convert.ToInt32(Parse[0]), Parse[1]);
                    Cities.Add(pCity);
                }
            }

            // Извлечение информации из списка маршрутов
            using (StreamReader pReader = new StreamReader(PathRouteFile))
            {
                string sLine;
                while ((sLine = pReader.ReadLine()) != null)
                {
                    string[] Parse  = sLine.Split(cDelimiter);
                    Route    pRoute = new Route(Convert.ToInt32(Parse[0]), Parse[1],
                                                Convert.ToInt32(Parse[2]), Convert.ToInt32(Parse[3]),
                                                Convert.ToDouble(Parse[4]), TimeSpan.Parse(Parse[5]));
                    Routes.Add(pRoute);
                }
            }

            // Извлечение информации из списка Расписания
            using (StreamReader pReader = new StreamReader(PathTableFile))
            {
                string sLine;
                while ((sLine = pReader.ReadLine()) != null)
                {
                    string[] Parse  = sLine.Split(cDelimiter);
                    Table    pTable = new Table(Convert.ToInt32(Parse[0]), DateTime.Parse(Parse[1]),
                                                DateTime.Parse(Parse[2]), Convert.ToInt32(Parse[3]), Convert.ToInt32(Parse[4]),
                                                Convert.ToInt32(Parse[5]), Convert.ToInt32(Parse[6]));
                    Tables.Add(pTable);
                }
            }

            // Извлечение информации из списка Пользователей
            using (StreamReader pReader = new StreamReader(PathUserFile))
            {
                string sLine;
                while ((sLine = pReader.ReadLine()) != null)
                {
                    string[] Parse = sLine.Split(cDelimiter);
                    User     pUser = new User(Convert.ToInt32(Parse[0]), Parse[1], Convert.ToInt32(Parse[2]),
                                              Convert.ToBoolean(Parse[3]));
                    Users.Add(pUser);
                }
            }

            // Извлечение информации из списка Приобретенных билетов
            using (StreamReader pReader = new StreamReader(PathRecordFlightFile))
            {
                string sLine;
                while ((sLine = pReader.ReadLine()) != null)
                {
                    string[]     Parse         = sLine.Split(cDelimiter);
                    RecordFlight pRecordFlight = new RecordFlight(Convert.ToInt32(Parse[0]), Convert.ToInt32(Parse[1]),
                                                                  Convert.ToInt32(Parse[2]));
                    RecordFlights.Add(pRecordFlight);
                }
            }
        }