Пример #1
0
        public static async void UpdateOrCreateFlightAsync(VatsimClientPlannedFlightV1 flight)
        {
            using (var db = new VatsimDbContext())
            {
                var _flight = await FindFlightAsync(flight.Cid,
                                                    flight.Callsign,
                                                    flight.TimeLogon,
                                                    flight.PlannedDepairport,
                                                    flight.PlannedDestairport);

                // didn't find the pilot
                if (_flight == null)
                {
                    await db.AddAsync(flight);

                    await db.SaveChangesAsync();

                    Log.Information($"Added Flight: {flight} to DB");
                }
                else
                {
                    // log.Info($"Flight found in DB: {_flight.ToString()}");
                    // DateTime old_time = VatsimDataState.GetDateTimeFromVatsimTimeStamp(_flight.TimeLogon);
                    // DateTime new_time = VatsimDataState.GetDateTimeFromVatsimTimeStamp(flight.TimeLogon);
                    if (LogonTimeIsMoreRecent(_flight.TimeLogon, flight.TimeLogon))
                    {
                        await db.AddAsync(flight);

                        await db.SaveChangesAsync();

                        Log.Information($"Added Flight: {flight} to DB");
                    }
                    else
                    {
                        _flight.Update(flight);
                        db.Update(_flight);
                        await db.SaveChangesAsync();

                        Log.Information($"Updated Flight: {flight} in DB");
                    }
                }
            }
        }
        public VatsimClientPlannedFlightV1 GetVatsimClientPlannedFlightFromRecord()
        {
            VatsimClientPlannedFlightV1 flight = new VatsimClientPlannedFlightV1();

            flight.Callsign              = this.Callsign;
            flight.Cid                   = this.Cid;
            flight.Clienttype            = this.Clienttype;
            flight.Latitude              = this.Latitude;
            flight.Longitude             = this.Longitude;
            flight.PlannedActdeptime     = this.PlannedActdeptime;
            flight.PlannedAircraft       = this.PlannedAircraft;
            flight.PlannedAltairport     = this.PlannedAltairport;
            flight.PlannedAltitude       = this.PlannedAltitude;
            flight.PlannedDepairport     = this.PlannedDepairport;
            flight.PlannedDepairportLat  = this.PlannedDepairportLat;
            flight.PlannedDepairportLon  = this.PlannedDepairportLon;
            flight.PlannedDeptime        = this.PlannedDeptime;
            flight.PlannedDestairport    = this.PlannedDestairport;
            flight.PlannedDestairportLat = this.PlannedDestairportLat;
            flight.PlannedDestairportLon = this.PlannedDestairportLon;
            flight.PlannedFlighttype     = this.PlannedFlighttype;
            flight.PlannedHrsenroute     = this.PlannedHrsenroute;
            flight.PlannedHrsfuel        = this.PlannedHrsfuel;
            flight.PlannedMinenroute     = this.PlannedMinenroute;
            flight.PlannedMinfuel        = this.PlannedMinfuel;
            flight.PlannedRemarks        = this.PlannedRemarks;
            flight.PlannedRevision       = this.PlannedRevision;
            flight.PlannedRoute          = this.PlannedRoute;
            flight.PlannedTascruise      = this.PlannedTascruise;
            flight.Protrevision          = this.Protrevision;
            flight.Realname              = this.Realname;
            flight.Server                = this.Server;
            flight.TimeLastAtisReceived  = this.TimeLastAtisReceived;
            flight.TimeLogon             = this.TimeLogon;

            return(flight);
        }