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; }
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; }
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; }
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; }
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; }