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