private object apiAddInformer(HttpRequestParams request) { var name = request.GetRequiredString("name"); var sensorDisplayId = request.GetRequiredGuid("sensorDisplayId"); using (var session = Context.OpenSession()) { Informer informer = new Informer() { Id = Guid.NewGuid(), Name = name, SensorDisplayId = sensorDisplayId, MonitorsIds = "[]" }; session.Save(informer); session.Flush(); } return null; }
private void UpdateInformer(Informer informer) { if (informer != null) { var sensorDisplay = mySensors.GetSensor(informer.SensorDisplayId); if (sensorDisplay != null) { var monitorsIds = informer.GetMonitorsIds(); foreach (var monitorId in monitorsIds) { var monitor = monitors.Get(monitorId); if (monitor != null) { var sensor = mySensors.GetSensor(monitor.SensorId); if (sensor != null) { var lineNo = (byte)monitorsIds.IndexOf(monitorId); string property = string.IsNullOrEmpty(monitor.NameForInformer) ? monitor.Name : monitor.NameForInformer; var lastSV = mySensors.GetLastSensorValue(sensor); string value = FormatSensorValue(lastSV); //string value = "--"; //if (lastSV != null) //{ // value = lastSV.Value.ToString(); // //var json = string.IsNullOrWhiteSpace(monitor.Configuration) ? "{}" : monitor.Configuration; // //dynamic config = Extensions.FromJson(json); // //string valueTemplate = config["series"][0]["tooltip"]["template"]; // //"#= kendo.toString(data.value, 'n1') # °C" // //"#= kendo.toString(value / 133.3, 'n2') # mmHg" // //Debug.WriteLine(lineNo + ": " + property); // //JObject obj = JObject.Parse(json); // //MyJsonObject[] objArr = JsonConvert.DeserializeObject<MyJsonObject[]>(obj["json"][0]["zayavki"].ToString()); // //foreach (MyJsonObject myJsonObj in objArr) // //{ // // Console.WriteLine("Uuid: {0}", myJsonObj.Uuid); // // Console.WriteLine("Date: {0}", myJsonObj.Date.ToString("dd/MM/yyyy")); // // Console.WriteLine("Comment: {0}", myJsonObj.Comment); // // Console.WriteLine("FirmID: {0}", myJsonObj.FirmID); // // Console.WriteLine(new string('-', 10)); // //} //} StringBuilder sb = new StringBuilder(); sb.AppendFormat("{0}: {1}", property, value); string str = sb.ToString(); var fromEncodind = Encoding.UTF8; //из какой кодировки var buf = fromEncodind.GetBytes(str); var toEncoding = Encoding.GetEncoding(866); //в какую кодировку var buf2 = Encoding.Convert(fromEncodind, toEncoding, buf); str = toEncoding.GetString(buf2); mySensors.SetSensorValue(sensorDisplay, lineNo, str); } } } } } }
public object BuildInformerWebModel(Informer informer) { if (informer == null) return null; return new { Id = informer.Id, Name = informer.Name, SensorDisplayName = mySensors.GetSensor(informer.SensorDisplayId).Name, MonitorsIds = informer.MonitorsIds }; }