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} отсутствует"); } }
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); } } }