private async Task HandleNewMessage(string message) { try { #if PERFORMANCE || false Stopwatch timer = new Stopwatch(); timer.Start(); #endif var msgObject = JsonConvert.DeserializeObject <ReadingDto>(message); var value = msgObject.Reading; var convertedValue = toUnit.ConvertFromBaseValue(FromUnit.ConvertToBaseValue(value)); var clientMessage = new ClientMessageDto(msgObject, Thread.CurrentThread.ManagedThreadId, mqttClientManager.GetCurrentThreadCount(), convertedValue); #if PERFORMANCE || false timer.Stop(); PerformanceMeasurer.Log(mqttClientManager.GetCurrentThreadCount(), timer.ElapsedTicks, Thread.CurrentThread.ManagedThreadId); PerformanceMeasurer.DumpLog(); #endif await answerCallback("NewData", new object[] { JsonConvert.SerializeObject(clientMessage) }, CancellationToken.None); } catch (Exception e) { Log.Error("Error sending message " + e.StackTrace, e); } }
public async Task <IActionResult> Enrol([FromForm] ClientMessageDto message) { if (ModelState.IsValid) { return(RedirectToAction("Index", "Home", new { area = "" })); } return(View(message)); }
public static Event ConvertOnWrite(ClientMessageDto.EventText eventText) { object data; object metadata; if (TryLoadAsObject(eventText.Data, out data) && TryLoadAsObject(eventText.Metadata, out metadata)) { return new Event(eventText.EventId, eventText.EventType, true, Encoding.UTF8.GetBytes(Codec.Json.To(data)), Encoding.UTF8.GetBytes(Codec.Json.To(metadata))); } return new Event(eventText.EventId, eventText.EventType, false, Encoding.UTF8.GetBytes(ToString(eventText.Data)), Encoding.UTF8.GetBytes(ToString(eventText.Metadata))); }