Пример #1
0
		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 device in FiresecManager.Devices)
			{
				var stateType = device.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 = stateTypeCounter.StateType.ToDescription();
				AlarmState.value = (stateTypeCounter.HasOne == true) ? "Есть" : "Нет";
				states.Add(AlarmState);
			}

			eventType.state = states.ToArray();

			NetManager.Send(eventType, null);
		}
Пример #2
0
        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);
        }
Пример #3
0
        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";

            if (FiresecManager.DeviceStates.ZoneStates.Any(x => x.No.ToString() == ZoneNo))
            {
                var zoneState = FiresecManager.DeviceStates.ZoneStates.FirstOrDefault(x => x.No.ToString() == ZoneNo);

                eventType.state = new Assad.CPeventTypeState[1];
                eventType.state[0] = new Assad.CPeventTypeState()
                {
                    state = "Состояние",
                    value = EnumsConverter.StateTypeToClassName(zoneState.StateType)
                };
            }

            NetManager.Send(eventType, null);
        }