Example #1
0
		public override Assad.DeviceType GetStates()
		{
			var deviceType = new Assad.DeviceType();
			deviceType.deviceId = DeviceId;
			var states = new List<Assad.DeviceTypeState>();
			var configurationState = new Assad.DeviceTypeState();
			configurationState.state = "Конфигурация";
			configurationState.value = "Норма";
			states.Add(configurationState);

			foreach (var device in FiresecManager.Devices)
			{
				var stateType = device.DeviceState.StateType;
				var stateTypeCounter = StateTypeCounters.FirstOrDefault(x => x.StateType == stateType);
				if (stateTypeCounter.StateType == StateType.Norm)
					continue;

				stateTypeCounter.HasOne = true;
			}

			foreach (var counter in StateTypeCounters)
			{
				var state = new Assad.DeviceTypeState();
				state.state = counter.StateType.ToDescription();
				state.value = counter.HasOne ? "Есть" : "Нет";
				states.Add(state);
			}

			deviceType.state = states.ToArray();
			return deviceType;
		}
Example #2
0
		public override Assad.DeviceType GetStates()
		{
			var deviceType = new Assad.DeviceType();
			deviceType.deviceId = DeviceId;
			var states = new List<Assad.DeviceTypeState>();

			if (FiresecManager.Zones.Any(x => x.No.ToString() == ZoneNo))
			{
				var zone = FiresecManager.Zones.FirstOrDefault(x => x.No.ToString() == ZoneNo);

				var mainState = new Assad.DeviceTypeState()
				{
					state = "Состояние",
					value = zone.ZoneState.StateType.ToDescription()
				};
				states.Add(mainState);
				var state1 = new Assad.DeviceTypeState()
				{
					state = "Наименование",
					value = zone.Name
				};
				states.Add(state1);
				var state2 = new Assad.DeviceTypeState()
				{
					state = "Число датчиков для формирования сигнала Пожар",
					value = zone.DetectorCount.ToString()
				};
				states.Add(state2);
				var state3 = new Assad.DeviceTypeState()
				{
					state = "Примечание",
					value = zone.Description
				};
				states.Add(state3);
				var state4 = new Assad.DeviceTypeState()
				{
					state = "Назначение зоны",
					value = "Пожарная"
				};
				states.Add(state4);
			}
			else
			{
				var mainState = new Assad.DeviceTypeState()
				{
					state = "Состояние",
					value = "Отсутствует в конфигурации сервера оборудования"
				};
				states.Add(mainState);
			}

			deviceType.state = states.ToArray();
			return deviceType;
		}
Example #3
0
        public override Assad.DeviceType GetStates()
        {
            var deviceType = new Assad.DeviceType();
            deviceType.deviceId = DeviceId;
            var states = new List<Assad.DeviceTypeState>();

            var deviceState = ConfigurationHelper.GetDeviceState(Id);
            if (deviceState != null)
            {
                var mainState = new Assad.DeviceTypeState();
                mainState.state = "Состояние";
                mainState.value = EnumsConverter.StateTypeToClassName(deviceState.StateType);
                states.Add(mainState);
                string str = " ";
                switch (mainState.value)
                {
                    case "Тревога":
                    case "Внимание (предтревожное)":
                    case "Неисправность":
                    case "Требуется обслуживание":
                    case "Норма(*)":
                        str = mainState.value;
                        break;
                }

                if (str != " ")
                {
                    FireEvent(str);
                }

                foreach (var parameter in deviceState.Parameters)
                {
                    if (parameter.Visible)
                    {
                        var parameterState = new Assad.DeviceTypeState();
                        parameterState.state = parameter.Caption;
                        parameterState.value = parameter.Value;

                        if ((string.IsNullOrEmpty(parameter.Value)) || (parameter.Value == "<NULL>"))
                        {
                            parameterState.value = " ";
                        }

                        states.Add(parameterState);
                    }
                }

                if (FiresecManager.Devices.Any(x => x.PathId == Id))
                {
                    var device = FiresecManager.Devices.FirstOrDefault(x => x.PathId == Id);

                    var state0 = new Assad.DeviceTypeState();
                    state0.state = "Примечание";
                    if ((string.IsNullOrEmpty(device.Description)) || (device.Description == "<NULL>"))
                    {
                        device.Description = " ";
                    }
                    state0.value = device.Description;
                    states.Add(state0);

                    if (device.Driver.IsZoneDevice)
                    {
                        var state1 = new Assad.DeviceTypeState();
                        state1.state = "Зона";

                        if (device.ZoneNo.HasValue)
                            state1.value = device.ZoneNo.Value.ToString();
                        else
                            state1.value = " ";
                        states.Add(state1);
                    }
                    else
                    {
                        if (device.Driver.IsZoneLogicDevice)
                        {
                            var state2 = new Assad.DeviceTypeState();
                            state2.state = "Настройка включения по состоянию зон";
                            string zonelogicstring = device.ZoneLogic.ToString();
                            state2.value = zonelogicstring;
                            states.Add(state2);
                        }
                    }
                    foreach (var propinfo in device.Driver.Properties)
                    {
                        var loopState = new Assad.DeviceTypeState();
                        string name = propinfo.Name;
                        string value = propinfo.Default;
                        loopState.state = propinfo.Caption;

                        if (propinfo.Caption == "Адрес")
                        {
                            loopState.state = "Адрес USB устройства в сети RS-485";
                        }

                        if (device.Properties.Any(x => x.Name == name))
                        {
                            var property = device.Properties.FirstOrDefault(x => x.Name == name);
                            value = property.Value;

                            if (string.IsNullOrEmpty(property.Value))
                            {
                                value = propinfo.Default;
                            }
                        }

                        var parameter = propinfo.Parameters.FirstOrDefault(x => x.Value == value);
                        if (parameter != null)
                        {
                            value = parameter.Name;
                        }

                        loopState.value = value;

                        if (propinfo.Visible)
                            states.Add(loopState);
                    }
                }
            }
            else
            {
                var mainState = new Assad.DeviceTypeState();
                mainState.state = "Состояние";
                mainState.value = "Отсутствует в конфигурации сервера оборудования";
                states.Add(mainState);
            }

            deviceType.state = states.ToArray();
            return deviceType;
        }
Example #4
0
        public override Assad.DeviceType QueryAbility()
        {
            var deviceAbility = new Assad.DeviceType();
            deviceAbility.deviceId = DeviceId;
            var abilityParameters = new List<Assad.DeviceTypeParam>();

            var deviceState = ConfigurationHelper.GetDeviceState(Id);
            if (deviceState != null)
            {
                foreach (var parameter in deviceState.Parameters)
                {
                    if (!(string.IsNullOrEmpty(parameter.Value)) && (parameter.Value != "<NULL>"))
                    {
                        var abilityParameter = new Assad.DeviceTypeParam();
                        abilityParameter.name = parameter.Caption;
                        abilityParameter.value = parameter.Value;
                        abilityParameters.Add(abilityParameter);
                    }
                }

                foreach (var state in deviceState.States)
                {
                    var stateParameter = new Assad.DeviceTypeParam();
                    stateParameter.name = state.DriverState.Name;
                    stateParameter.value = " ";
                    abilityParameters.Add(stateParameter);
                }
            }

            deviceAbility.param = abilityParameters.ToArray();
            return deviceAbility;
        }
Example #5
0
		public override Assad.DeviceType QueryAbility()
		{
			var deviceAbility = new Assad.DeviceType();
			deviceAbility.deviceId = DeviceId;
			var abilityParameters = new List<Assad.DeviceTypeParam>();

			deviceAbility.param = abilityParameters.ToArray();
			return deviceAbility;
		}