public override IDictionary <string, object> Serialize(object obj, JavaScriptSerializer serializer) { CATModel model = (CATModel)obj; Dictionary <string, object> d = new Dictionary <string, object>(); d["radio"] = model.Radio; d["frequency"] = model.Frequency; d["mode"] = model.Mode; d["timestamp"] = model.Timestamp; return(d); }
public void PushCAT(CATModel cat) { string catJson = m_Serializer.Serialize(cat); string response = PostRequest(m_UrlBase, catJson, "application/json"); }
private void UpdateFrequency() { long previousFrequency = 0; OperatingMode previousMode = OperatingMode.Unknown; while (!Disposing && !IsDisposed) { try { long frequency = m_Radio.PrimaryFrequency; OperatingMode mode = m_Radio.PrimaryMode; if (frequency != previousFrequency || mode != previousMode) { // Sanity check: re-read and make sure we get the same values! long checkFrequency = m_Radio.PrimaryFrequency; OperatingMode checkMode = m_Radio.PrimaryMode; if (checkFrequency == frequency && checkMode == mode) { // Updated frequency or mode CATModel model = new CATModel { Frequency = frequency, Mode = mode.ToString(), Timestamp = DateTime.UtcNow, Radio = m_Radio.ToString() }; m_API.PushCAT(model); previousFrequency = frequency; previousMode = mode; } } // Update the UI Invoke(new MethodInvoker(() => { m_Status.Text = "Successfully updated at " + DateTime.Now.ToLongTimeString(); m_Frequency.Text = FormatFrequency(frequency); m_Mode.Text = mode.ToString(); })); } catch (Exception ex) { Invoke(new MethodInvoker(() => { m_Status.Text = ex.Message; })); } Thread.Sleep(1000); } }