private void OnAlarmGradeChanged(string propertyName) { string alarmstring = GetAlarmEventString(); short itemtype = GetSignType(); CustomSystemDegree degree = (this.AlarmGrade == AlarmGrade.DisConnect)? CustomSystemDegree.Information : (CustomSystemDegree)(this.Low8Alarm); CustomSystemType alarm = (this.AlarmGrade == AlarmGrade.DisConnect) ? CustomSystemType.DisConnect : CustomSystemType.Alarm; DelayAlarmGrade = AlarmGrade; PublishMessage(alarm, degree, alarmstring, this.Guid, itemtype, this.ServerIP); }
private void PublishMessage(CustomSystemType type, CustomSystemDegree grade, string alarmstring, Guid guid, short itemtype, string serverIP) { if (alarmstring == null || itemtype == (int)ChannelType.None || ACQDatetime == null) { _eventAggregator.GetEvent <CustomSystemEvent>().Publish(null); return; } T1_SystemEvent systemEvent = new T1_SystemEvent() { Type = (int)type, Degree = (int)grade, EventTime = ACQDatetime.Value, Remarks = alarmstring, T_Item_Guid = guid, T_Item_Type = itemtype, }; Tuple <string, T1_SystemEvent> ex = new Tuple <string, T1_SystemEvent>(serverIP, systemEvent); _eventAggregator.GetEvent <CustomSystemEvent>().Publish(ex); }