public override void FireEvent(string eventName) { var eventType = new Assad.CPeventType(); eventType.deviceId = DeviceId; eventType.eventTime = DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"); eventType.eventId = eventName; eventType.alertLevel = "0"; var counters = new List<StateTypeCounter>(); for (int i = 0; i < 9; i++) counters.Add(new StateTypeCounter(i)); foreach (var deviceState in FiresecManager.DeviceStates.DeviceStates) { var stateType = deviceState.StateType; var stateTypeCounter = counters.FirstOrDefault(x => x.StateType == stateType); stateTypeCounter.HasOne = true; } bool diff = false; foreach (var counter in _stateTypeCounters) { var tempcounter = counters.FirstOrDefault(x => x.StateType == counter.StateType); if (tempcounter.StateType == StateType.Norm) continue; if (tempcounter.HasOne != counter.HasOne) { diff = true; counter.HasOne = tempcounter.HasOne; } } if (diff == false) return; var states = new List<Assad.CPeventTypeState>(); foreach (var stateTypeCounter in counters) { var AlarmState = new Assad.CPeventTypeState(); AlarmState.state = EnumsConverter.StateTypeToClassName(stateTypeCounter.StateType); AlarmState.value = (stateTypeCounter.HasOne == true) ? "Есть" : "Нет"; states.Add(AlarmState); } eventType.state = states.ToArray(); NetManager.Send(eventType, null); }
public override void FireEvent(string eventName) { var eventType = new Assad.CPeventType(); eventType.deviceId = DeviceId; eventType.eventTime = DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"); eventType.eventId = eventName; eventType.alertLevel = "0"; var deviceState = ConfigurationHelper.GetDeviceState(Id); if (deviceState != null) { var states = new List<Assad.CPeventTypeState>(); var mainState = new Assad.CPeventTypeState(); mainState.state = "Состояние"; mainState.value = EnumsConverter.StateTypeToClassName(deviceState.StateType); states.Add(mainState); foreach (var parameter in deviceState.Parameters) { if (parameter.Visible) { var parameterState = new Assad.CPeventTypeState(); parameterState.state = parameter.Name; parameterState.value = parameter.Value; if ((string.IsNullOrEmpty(parameter.Value)) || (parameter.Value == "<NULL>")) { parameterState.value = " "; } states.Add(parameterState); } } eventType.state = states.ToArray(); } NetManager.Send(eventType, null); }