public void ReceiveHeartBeat(xmlMessage InputData) { // Parse Mqtt Topic string[] Topic = InputData.MQTTTopic.Split('/'); // /IEW/GateWay/Device/Status/HeartBeat string GateWayID = Topic[2].ToString(); string DeviceID = Topic[3].ToString(); cls_HeartBeat hb = new cls_HeartBeat(); hb = JsonConvert.DeserializeObject <cls_HeartBeat>(InputData.MQTTPayload.ToString()); if (ObjectManager.MonitorManager != null) { //cls_Monitor_Gateway_Info gw = ObjectManager.MonitorManager.monitor_list.Where(p => p.gateway_id == GateWayID).FirstOrDefault(); //if (gw != null) //{ /* * cls_Monitor_Device_Info dv = gw.device_list.Where(p => p.device_id == DeviceID).FirstOrDefault(); * if (dv != null) * { * gw.gateway_status = hb.Status; * gw.hb_report_time = DateTime.ParseExact(hb.HBDatetime, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); * gw.hb_status = hb.Status; * * dv.device_status = hb.Status; * dv.hb_status = hb.Status; * dv.hb_report_time = DateTime.ParseExact(hb.HBDatetime, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); * } */ cls_Monitor_Device_Info mdv = ObjectManager.MonitorManager.device_list.Where(o => o.gateway_id == GateWayID && o.device_id == DeviceID).FirstOrDefault(); if (mdv != null) { mdv.device_status = hb.Status; mdv.hb_status = hb.Status; mdv.hb_report_time = DateTime.ParseExact(hb.HBDatetime, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); } this.ObjectManager.OnHeartBeatEventCall(null); //} } }
public void SetOnlineMonitorEDCReportStatus(string gw_id, string dv_id, string payload) { if (ObjectManager.MonitorManager != null) { //cls_Monitor_Gateway_Info gw = ObjectManager.MonitorManager.monitor_list.Where(p => p.gateway_id == gw_id).FirstOrDefault(); //if (gw != null) //{ //cls_Monitor_Device_Info dv = gw.device_list.Where(p => p.device_id == dv_id).FirstOrDefault(); cls_Monitor_Device_Info mdv = ObjectManager.MonitorManager.device_list.Where(o => o.gateway_id == gw_id && o.device_id == dv_id).FirstOrDefault(); if (mdv != null) { cls_HeartBeat hb = new cls_HeartBeat(); cls_read_data_reply CollectData = null; CollectData = JsonConvert.DeserializeObject <cls_read_data_reply>(payload); mdv.last_edc_time = DateTime.ParseExact(CollectData.Time_Stamp, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); mdv.last_edc_time = DateTime.ParseExact(CollectData.Time_Stamp, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); } //} } }