Esempio n. 1
0
        public static async void UpdateOrCreateFlight(VatsimClientPlannedFlight flight)
        {
            using (var db = new VatsimDbContext())
            {
                var _flight = await db.Flights.FindAsync(flight.Cid,
                                                         flight.Callsign,
                                                         flight.TimeLogon,
                                                         flight.PlannedDepairport,
                                                         flight.PlannedDestairport);

                // didn't find the pilot
                if (_flight == null)
                {
                    // log.Info($"Adding flight to DB: {flight.ToString()}");
                    db.Add(flight);
                    db.SaveChanges();
                    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 (new_time > old_time)
                    {
                        db.Add(flight);
                        db.SaveChanges();
                        Log.Information($"Added Flight: {flight} to DB");
                    }
                    else
                    {
                        _flight.Update(flight);
                        db.Update(_flight);
                        db.SaveChanges();
                        Log.Information($"Updated Flight: {flight} in DB");
                    }
                }
            }
        }
        public VatsimClientPlannedFlight GetVatsimClientPlannedFlightFromRecord()
        {
            VatsimClientPlannedFlight flight = new VatsimClientPlannedFlight();

            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);
        }