예제 #1
0
 public static async Task<bool> ExistsAsync(Flight flight)
 {
     using (var context = new AirlinesContext())
     {
         return await context.FlightSet.FirstOrDefaultAsync(u =>
                 u.DepartureCountry.Equals(flight.DepartureCountry) && u.ArrivalCountry.Equals(flight.ArrivalCountry)) != default(Flight);
     }
 }
예제 #2
0
 /// <summary>
 /// Добавляет рейс в бд
 /// При этом считается что все необходимые проверки уже были выполнены 
 /// То есть данные заполнены правильно и такого рейса нет в бд
 /// </summary>
 public static async Task<bool> AddFlightAsync(Flight flight)
 {
     System.Console.WriteLine("AddFlight ");
     using (var context = new AirlinesContext())
     {
         try
         {
             context.FlightSet.Add(flight);
             await context.SaveChangesAsync();
         }
         catch (Exception)
         {
             return false;
         }
     }
     return true;
 }
        /// <summary>
        /// Формируем рейс из данных из текст-боксов
        /// И вызываем метод добавления рейса в базу данных
        /// Если рейс добавлен успешно -- выводим сообщение и отправляем
        /// сообщение в AdministratorViewModel для того чтобы обновился список рейсов
        /// В случае ошибки -- выводим сообщение
        /// </summary>
        private async Task AddFlightAsync()
        {
            string[] atime;
            string[] adate;
            string[] dtime;
            string[] ddate;
            // Как эти строки ниже должны работать?
    // Разделяет он правильно, я проверила

            atime = this.ATime.Split(':');
            adate = this.ADate.Split('.');
            dtime = this.DTime.Split(':');
            ddate = this.DDate.Split('.');

            var flight = new Flight
            {
                ArrivalTime = new DateTime(Convert.ToInt16(adate[2]), Convert.ToInt16(adate[1]),
                Convert.ToInt16(adate[0]), Convert.ToInt16(atime[0]), Convert.ToInt16(atime[1]), 00),
                DepartureTime = new DateTime(Convert.ToInt16(ddate[2]), Convert.ToInt16(ddate[1]),
                Convert.ToInt16(ddate[0]), Convert.ToInt16(dtime[0]), Convert.ToInt16(dtime[1]), 00),
                ArrivalCountry = this.Arrival,
                DepartureCountry = this.Departure,
                IsComplete=false,
                AirplanePilot = new AirplanePilot{ Pilot = Pilot , Airplane=Airplane}, 
            };


            Console.WriteLine("sadsad");

            var exists = await FlightService.ExistsAsync(flight);
            if (!exists)
            {
                var added = await FlightService.AddFlightAsync(flight);
                if (added)
                {
                    MessageForeground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF00BCD4"));
                    Info = $"Рейс { flight.Id} успешно добавлен.";
                    Communication.Messenger.Default.Send(Communication.Message.Empty, Communication.Context.AddContext);
                    FlushData();
                }
                else
                    Info = "Произошла ошибка при добавлении рейса";

            }
            else
            {
                Info = "Данный рейс уже существует";
            }

        }