private void ProcessMonitoringData(string identity, object data) { try { if (identity.Equals("ScreenBaseInfoList", StringComparison.OrdinalIgnoreCase)) { } else if (identity.Equals("AllPhysicalDisplayInfo", StringComparison.OrdinalIgnoreCase)) { } else if (identity.Equals("MonitoringData", StringComparison.OrdinalIgnoreCase)) { var ledData = data as DataPoint; if (ledData == null) { System.Diagnostics.Debug.WriteLine("监控数据格式错误!!"); return; } var packetData = new WebPacketData(); packetData.Identifier = String.Format("{0}+{1}", _macAddress, ledData.Key); packetData.IdentifierClass = PacketDataType.MonitoringData; packetData.SequenceNumber = string.Empty; packetData.Timestamp = DateTime.UtcNow.Ticks.ToString(); List <DataPoint> dataPointCollection = new List <DataPoint>(); if (typeof(List <DataPoint>) == ledData.Value.GetType()) { dataPointCollection = ledData.Value as List <DataPoint>; } else if (typeof(DataPoint) == ledData.Value.GetType()) { dataPointCollection = new List <DataPoint>() { ledData.Value as DataPoint }; } string json = JsonConvert.SerializeObject(dataPointCollection); packetData.DataPointCollection = Nova.Zip.GZipCompression.Compress(json); //packetData.DataPointCollection = dataPointCollection; RestFulClient.Instance.Post("api/index/monitorData", packetData, response => { MonitorDataResponse(response); }); } } catch (Exception ex) { _logService.Error(string.Format("ExistCatch:<-{0}->:{1}", "ProcessMonitoringData", ex.ToString())); } }
public override void Execute(string key, object data) { var ledData = data as DataPoint; if (ledData == null) { System.Diagnostics.Debug.WriteLine("监控数据格式错误!!"); return; } var packetData = new WebPacketData(); packetData.Identifier = _client.GetScreenId(AppDataConfig.CurrentMAC, ledData.Key); packetData.IdentifierClass = PacketDataType.MonitoringData; packetData.SequenceNumber = string.Empty; packetData.Timestamp = DateTime.UtcNow.Ticks.ToString(); List <DataPoint> dataPointCollection = new List <DataPoint>(); if (typeof(List <DataPoint>) == ledData.Value.GetType()) { dataPointCollection = ledData.Value as List <DataPoint>; } else if (typeof(DataPoint) == ledData.Value.GetType()) { dataPointCollection = new List <DataPoint>() { ledData.Value as DataPoint }; } var brightnessDataPoint = dataPointCollection.FirstOrDefault(p => p.Key.Split(new char[] { '|' })[0] == "1" && p.Key.Split(new char[] { '|' })[1] == "3"); if (brightnessDataPoint != null) { var action = new Action(() => { _client.NotifyBrightnessValueRefreshed(ledData.Key, (string)brightnessDataPoint.Value); }); action.BeginInvoke(null, null); } string json = JsonConvert.SerializeObject(dataPointCollection); packetData.DataPointCollection = Nova.Zip.GZipCompression.Compress(json); //packetData.DataPointCollection = dataPointCollection; RestFulClient.Instance.Post("api/index/monitorData", packetData, response => { MonitorDataResponse(response); }); }