public static string SemikUploadString(FlightInit fi) { NumberFormatInfo nfi = new NumberFormatInfo(); nfi.NumberDecimalSeparator = "."; FlightEvent block_off = FlightTracking.GetFlightEvent("BlockOff"); FlightEvent block_on = FlightTracking.GetFlightEvent("BlockOn"); FlightEvent to = FlightTracking.GetFlightEvent("Takeoff"); FlightEvent td = FlightTracking.GetFlightEvent("Touchdown"); string args = ""; args += "pid=" + pilot.pid; args += "&auth=" + pilot.auth_code; args += "&tracking_id=" + FlightTracking.tracking_id; args += "&blockoff_coords=" + block_off.latitude.ToString("####.#######", nfi) + ";" + block_off.longitude.ToString("####.#######", nfi); args += "&blockon_coords=" + block_on.latitude.ToString("####.#######", nfi) + ";" + block_on.longitude.ToString("####.#######", nfi); args += "&blockoff_time=" + block_on.GetUTCTimeString(); args += "&td_rate=" + Math.Round(td.verticalSpeed); args += "&td_speed=" + Math.Round(td.airSpeed); args += "&td_coords=" + td.latitude.ToString("####.#######", nfi) + ";" + td.longitude.ToString("####.#######", nfi) + ";" + Math.Round(td.heading).ToString(); args += "&fuel_spent=" + Math.Round(block_off.fuel - block_on.fuel); args += "&final_fuel=" + Math.Round(block_on.fuel); DateTime timeTakeoff = to.time; DateTime timeTouchdown = td.time; duration = timeTouchdown.Subtract(timeTakeoff); args += "&duration=" + duration.Hours.ToString("00") + ":" + duration.Minutes.ToString("00") + ":" + duration.Seconds.ToString("00"); args += "&distance=" + Math.Round(FlightTracking.distance); args += "&equipment=" + fi.aircraft; args += "®istration=" + fi.registration; args += "&pax=" + fi.pax; List <FlightEvent> events = FlightTracking.GetFlightEvents(); for (int i = 0; i < events.Count; i++) { FlightEvent ev = events[i]; if (ev.type > 1) { args += "&incidents[]=" + ev.GetCSV(";"); } } args += "&fsapirep=" + FSACARSCompatiblePirep(fi, "*"); return(args); }
private static void TVTIMER_Tick(Object myObject, EventArgs myEventArgs) { if (!Properties.Settings.Default.use_tv) { return; } TVTIMER.Interval = Properties.Settings.Default.tv_refresh * 1000; string file = Snapshot.TakeSnapshot(); if (file.Length > 0 && tracking_id.Length > 0 && !Properties.Settings.Default.offline) { FlightEvent fe = LogFlightEvent("TV", "tv snapshot", 3); bool result = Connector.UploadTV(tracking_id, file, fe.GetCSV(";")); } }