//private void UnRegister() //{ // Messenger.Default.Unregister<string>(this, MsgToken.MSG_HWConfig, OnMsgHWConfig); //} #endregion #region 数据初始化 private void Initialize(string sn) { _sn = sn; LedMonitoringConfig ledMonitorCfg = null; List <LedMonitoringConfig> listHw = MonitorAllConfig.Instance().LedMonitorConfigs; if (listHw == null) { return; } foreach (LedMonitoringConfig item in listHw) { if (_sn == MonitorAllConfig.Instance().ALLScreenName) { ledMonitorCfg = item; break; } else if (_sn == item.SN) { ledMonitorCfg = item; break; } } if (ledMonitorCfg != null) { InitialHwConfg(ledMonitorCfg); } }
public bool OnCmdInitialize() { IsGetData = false; if (MonitorAllConfig.Instance().ScreenMonitorData == null || MonitorAllConfig.Instance().ScreenMonitorData.AllScreenMonitorCollection == null || MonitorAllConfig.Instance().ScreenMonitorData.AllScreenMonitorCollection.Count == 0) { ScreenMonitorData = null; _fLogService.Error("获取数据结果为空,导致界面失败"); return(false); } foreach (ScreenModnitorData oneScreenData in MonitorAllConfig.Instance().ScreenMonitorData.AllScreenMonitorCollection) { if (oneScreenData.SenderMonitorCollection == null || oneScreenData.SenderMonitorCollection.Count == 0 || oneScreenData.ScannerMonitorCollection == null || oneScreenData.ScannerMonitorCollection.Count == 0) { _fLogService.Error("获取数据结果不完整,因此不能推送到主界面"); return(false); } } IsGetData = true; ScreenMonitorData = (AllMonitorData)MonitorAllConfig.Instance().ScreenMonitorData.Clone(); List <string> screenList = new List <string>(); _lctData = new LCTMainMonitorData(); foreach (LedMonitoringConfig monitorConfig in MonitorAllConfig.Instance().LedMonitorConfigs) { _lctData.RefreshTypeInfo.IsUpdateMCStatus = true; LedBasicInfo led = MonitorAllConfig.Instance().LedInfoList.FirstOrDefault(a => a.Sn == monitorConfig.SN); if (led == null) { continue; } if (monitorConfig.MonitoringCardConfig != null && monitorConfig.MonitoringCardConfig.MonitoringEnable == true && monitorConfig.MonitoringCardConfig.ParameterConfigTable != null) { foreach (ParameterMonitoringConfig param in monitorConfig.MonitoringCardConfig.ParameterConfigTable) { if (param.Type == StateQuantityType.FlatCableStatus && _lctData.RefreshTypeInfo.IsUpdateRowLine == false && param.MonitoringEnable) { _lctData.RefreshTypeInfo.IsUpdateRowLine = true; } if (param.Type == StateQuantityType.DoorStatus && _lctData.RefreshTypeInfo.IsUpdateGeneralStatus == false && param.MonitoringEnable) { _lctData.RefreshTypeInfo.IsUpdateGeneralStatus = true; } if (param.Type == StateQuantityType.Humidity && _lctData.RefreshTypeInfo.IsUpdateHumidity == false && param.MonitoringEnable) { _lctData.RefreshTypeInfo.IsUpdateHumidity = true; } if (param.Type == StateQuantityType.Smoke && _lctData.RefreshTypeInfo.IsUpdateSmoke == false && param.MonitoringEnable) { _lctData.RefreshTypeInfo.IsUpdateSmoke = true; } if (param.Type == StateQuantityType.FanSpeed && _lctData.RefreshTypeInfo.IsUpdateFan == false && param.MonitoringEnable) { _lctData.RefreshTypeInfo.IsUpdateFan = true; } if (param.Type == StateQuantityType.Voltage && _lctData.RefreshTypeInfo.IsUpdatePower == false && param.MonitoringEnable) { _lctData.RefreshTypeInfo.IsUpdatePower = true; } } } } foreach (ScreenModnitorData oneScreenData in ScreenMonitorData.AllScreenMonitorCollection) { screenList.Add(oneScreenData.ScreenUDID); MonitorDataFlag monitorFlag = MonitorDataFlags.Find(a => a.SN == oneScreenData.ScreenUDID); if (monitorFlag == null) { monitorFlag = new MonitorDataFlag(); monitorFlag.SN = oneScreenData.ScreenUDID; monitorFlag.SNName = GetSnAlia(oneScreenData.ScreenUDID); MonitorDataFlags.Add(monitorFlag); } else { monitorFlag.SNName = GetSnAlia(oneScreenData.ScreenUDID); } LedAlarmConfig ledAlarmConfig = MonitorAllConfig.Instance().LedAlarmConfigs.Find(a => a.SN == oneScreenData.ScreenUDID); LedMonitoringConfig ledMonitorConfig = MonitorAllConfig.Instance().LedMonitorConfigs.Find(a => a.SN == oneScreenData.ScreenUDID); if (ledMonitorConfig == null) { if (oneScreenData == null || string.IsNullOrEmpty(oneScreenData.ScreenUDID)) { _fLogService.Error("获取数据结果:没有硬件配置导致异常"); } else { _fLogService.Error("获取数据结果:没有硬件配置导致异常:" + oneScreenData.ScreenUDID); } ledMonitorConfig = new LedMonitoringConfig(); ledMonitorConfig.SN = oneScreenData.ScreenUDID; ledMonitorConfig.MonitoringCardConfig = new MonitoringCardConfig(); ledMonitorConfig.MonitoringCardConfig.MonitoringEnable = false; } LedBasicInfo ledInfo = MonitorAllConfig.Instance().LedInfoList.Find(a => a.Sn == oneScreenData.ScreenUDID); if (ledInfo == null) { continue; } SetSenderMonitor(ledInfo, oneScreenData.SenderMonitorCollection, monitorFlag); SetScannerMonitor(ledInfo, oneScreenData.ScannerMonitorCollection, ledAlarmConfig, monitorFlag); SetMonitorCardMonitor(ledInfo, oneScreenData.MonitorCardInfoCollection, ledAlarmConfig, ledMonitorConfig, monitorFlag); SetRegisterMonitor(monitorFlag); } for (int i = 0; i < MonitorDataFlags.Count;) { if (screenList.Contains(MonitorDataFlags[i].SN)) { i++; } else { MonitorDataFlags.RemoveAt(i); } } SetRedundantStateInfos(); MonitorAllConfig.Instance().SendMonitorDataToLCT(_lctData); return(true); }
private void SetMonitorCardMonitor(LedBasicInfo ledInfo, List <MonitorCardMonitorInfo> monitorCardInfos, LedAlarmConfig ledAlarmConfig, LedMonitoringConfig ledMonitorConfig, MonitorDataFlag monitorFlag) { if (ledMonitorConfig.MonitoringCardConfig == null || ledMonitorConfig.MonitoringCardConfig.MonitoringEnable == false) { monitorFlag.IsMCStatusValid = DeviceWorkStatus.UnAvailable; monitorFlag.IsFanValid = DeviceWorkStatus.UnAvailable; monitorFlag.IsHumidityValid = DeviceWorkStatus.UnAvailable; monitorFlag.IsPowerValid = DeviceWorkStatus.UnAvailable; monitorFlag.IsRowLineValid = DeviceWorkStatus.UnAvailable; monitorFlag.IsSmokeValid = DeviceWorkStatus.UnAvailable; monitorFlag.IsGeneralStatusValid = DeviceWorkStatus.UnAvailable; return; } monitorFlag.IsMCStatusValid = DeviceWorkStatus.Unknown; monitorFlag.IsFanValid = DeviceWorkStatus.Unknown; monitorFlag.IsHumidityValid = DeviceWorkStatus.Unknown; monitorFlag.IsPowerValid = DeviceWorkStatus.Unknown; monitorFlag.IsRowLineValid = DeviceWorkStatus.Unknown; monitorFlag.IsSmokeValid = DeviceWorkStatus.Unknown; monitorFlag.IsGeneralStatusValid = DeviceWorkStatus.Unknown; float fanValue = 1000; float humValue = 100; float valValue = 4; if (ledAlarmConfig.ParameterAlarmConfigList != null) { ParameterAlarmConfig param = ledAlarmConfig.ParameterAlarmConfigList.Find(a => a.ParameterType == StateQuantityType.FanSpeed); if (param != null) { fanValue = (float)param.LowThreshold; } param = ledAlarmConfig.ParameterAlarmConfigList.Find(a => a.ParameterType == StateQuantityType.Humidity); if (param != null) { humValue = (float)param.HighThreshold; } } ParameterMonitoringConfig monitorConfig = ledMonitorConfig.MonitoringCardConfig.ParameterConfigTable.Find (a => a.Type == StateQuantityType.FanSpeed); bool isFan = monitorConfig == null ? false : monitorConfig.MonitoringEnable; monitorConfig = ledMonitorConfig.MonitoringCardConfig.ParameterConfigTable.Find (a => a.Type == StateQuantityType.Humidity); bool isHumidity = monitorConfig == null ? false : monitorConfig.MonitoringEnable; monitorConfig = ledMonitorConfig.MonitoringCardConfig.ParameterConfigTable.Find (a => a.Type == StateQuantityType.Smoke); bool isSmoke = monitorConfig == null ? false : monitorConfig.MonitoringEnable; monitorConfig = ledMonitorConfig.MonitoringCardConfig.ParameterConfigTable.Find (a => a.Type == StateQuantityType.Voltage); bool isVoltage = monitorConfig == null ? false : monitorConfig.MonitoringEnable; monitorConfig = ledMonitorConfig.MonitoringCardConfig.ParameterConfigTable.Find (a => a.Type == StateQuantityType.DoorStatus); bool isDoorStatus = monitorConfig == null ? false : monitorConfig.MonitoringEnable; monitorConfig = ledMonitorConfig.MonitoringCardConfig.ParameterConfigTable.Find (a => a.Type == StateQuantityType.FlatCableStatus); bool isFlatCableStatus = monitorConfig == null ? false : monitorConfig.MonitoringEnable; _lctData.ValidInfo.IsMCStatusValid = true; foreach (MonitorCardMonitorInfo monitorCardInfo in monitorCardInfos) { if (monitorCardInfo.DeviceStatus == DeviceWorkStatus.Error) { monitorFlag.IsMCStatusValid = DeviceWorkStatus.Error; if (!_lctData.FaultMonitorInfos.ContainsKey(ledInfo.Commport)) { _lctData.FaultMonitorInfos.Add(ledInfo.Commport, new MonitorErrData()); } _lctData.FaultMonitorInfos[ledInfo.Commport].MCStatusErrCount++; } else if (monitorCardInfo.DeviceStatus == DeviceWorkStatus.OK && monitorFlag.IsMCStatusValid == DeviceWorkStatus.Unknown) { monitorFlag.IsMCStatusValid = DeviceWorkStatus.OK; } if (isFan == false) { monitorFlag.IsFanValid = DeviceWorkStatus.UnAvailable; } else if (monitorCardInfo.FansUInfo == null) { //if (monitorFlag.IsFanValid == DeviceWorkStatus.OK) //{ // monitorFlag.IsFanValid = DeviceWorkStatus.Error; //} } else if (monitorCardInfo.FansUInfo.IsUpdate && monitorCardInfo.FansUInfo.FansMonitorInfoCollection != null && monitorCardInfo.FansUInfo.FansMonitorInfoCollection.Count > 0) { foreach (int tmpValue in monitorCardInfo.FansUInfo.FansMonitorInfoCollection.Values) { if (tmpValue < fanValue) { monitorFlag.IsFanValid = DeviceWorkStatus.Error; if (!_lctData.AlarmMonitorInfos.ContainsKey(ledInfo.Commport)) { _lctData.AlarmMonitorInfos.Add(ledInfo.Commport, new MonitorErrData()); } _lctData.AlarmMonitorInfos[ledInfo.Commport].FanAlarmSwitchCount++; } else if (monitorCardInfo.DeviceStatus == DeviceWorkStatus.OK && monitorFlag.IsFanValid == DeviceWorkStatus.Unknown) { monitorFlag.IsFanValid = DeviceWorkStatus.OK; } } _lctData.ValidInfo.IsFanValid = true; } if (isHumidity == false) { monitorFlag.IsHumidityValid = DeviceWorkStatus.UnAvailable; } else if (monitorCardInfo.HumidityUInfo == null) { //if (monitorFlag.IsHumidityValid == DeviceWorkStatus.OK) //{ // monitorFlag.IsHumidityValid = DeviceWorkStatus.Error; //} } else if (monitorCardInfo.HumidityUInfo.IsUpdate) { if (monitorCardInfo.HumidityUInfo.Humidity > humValue) { monitorFlag.IsHumidityValid = DeviceWorkStatus.Error; if (!_lctData.AlarmMonitorInfos.ContainsKey(ledInfo.Commport)) { _lctData.AlarmMonitorInfos.Add(ledInfo.Commport, new MonitorErrData()); } _lctData.AlarmMonitorInfos[ledInfo.Commport].HumidityAlarmCount++; } else if (monitorFlag.IsHumidityValid != DeviceWorkStatus.Error) { monitorFlag.IsHumidityValid = DeviceWorkStatus.OK; } _lctData.ValidInfo.IsHumidityValid = true; } if (isDoorStatus == false) { monitorFlag.IsGeneralStatusValid = DeviceWorkStatus.UnAvailable; } else if (monitorCardInfo.CabinetDoorUInfo == null) { //if (monitorFlag.IsGeneralStatusValid == DeviceWorkStatus.OK) //{ // monitorFlag.IsGeneralStatusValid = DeviceWorkStatus.Error; //} } else if (monitorCardInfo.CabinetDoorUInfo.IsUpdate) { if (monitorCardInfo.CabinetDoorUInfo.IsDoorOpen) { monitorFlag.IsGeneralStatusValid = DeviceWorkStatus.Error; if (!_lctData.FaultMonitorInfos.ContainsKey(ledInfo.Commport)) { _lctData.FaultMonitorInfos.Add(ledInfo.Commport, new MonitorErrData()); } _lctData.FaultMonitorInfos[ledInfo.Commport].GeneralSwitchErrCount++; } else if (monitorFlag.IsGeneralStatusValid != DeviceWorkStatus.Error) { monitorFlag.IsGeneralStatusValid = DeviceWorkStatus.OK; } _lctData.ValidInfo.IsGeneralStatusValid = true; } if (isVoltage == false) { monitorFlag.IsPowerValid = DeviceWorkStatus.UnAvailable; } else if (monitorCardInfo.PowerUInfo == null) { //if (monitorFlag.IsPowerValid == DeviceWorkStatus.OK) //{ // monitorFlag.IsPowerValid = DeviceWorkStatus.Error; //} } else if (monitorCardInfo.PowerUInfo.IsUpdate && monitorCardInfo.PowerUInfo.PowerMonitorInfoCollection != null) { foreach (float tmpValue in monitorCardInfo.PowerUInfo.PowerMonitorInfoCollection.Values) { if (tmpValue < valValue) { monitorFlag.IsPowerValid = DeviceWorkStatus.Error; if (!_lctData.FaultMonitorInfos.ContainsKey(ledInfo.Commport)) { _lctData.FaultMonitorInfos.Add(ledInfo.Commport, new MonitorErrData()); } _lctData.FaultMonitorInfos[ledInfo.Commport].PowerAlarmSwitchCount++; } else if (monitorCardInfo.DeviceStatus == DeviceWorkStatus.OK && monitorFlag.IsPowerValid == DeviceWorkStatus.Unknown) { monitorFlag.IsPowerValid = DeviceWorkStatus.OK; } } _lctData.ValidInfo.IsPowerValid = true; } if (isSmoke == false) { monitorFlag.IsSmokeValid = DeviceWorkStatus.UnAvailable; } else if (monitorCardInfo.SmokeUInfo == null) { //if (monitorFlag.IsSmokeValid == DeviceWorkStatus.OK) //{ // monitorFlag.IsSmokeValid = DeviceWorkStatus.Error; //} } else if (monitorCardInfo.SmokeUInfo.IsUpdate) { if (monitorCardInfo.SmokeUInfo.IsSmokeAlarm) { monitorFlag.IsSmokeValid = DeviceWorkStatus.Error; if (!_lctData.AlarmMonitorInfos.ContainsKey(ledInfo.Commport)) { _lctData.AlarmMonitorInfos.Add(ledInfo.Commport, new MonitorErrData()); } _lctData.AlarmMonitorInfos[ledInfo.Commport].SmokeAlarmCount++; } else if (monitorFlag.IsSmokeValid != DeviceWorkStatus.Error) { monitorFlag.IsSmokeValid = DeviceWorkStatus.OK; } _lctData.ValidInfo.IsSmokeValid = true; } if (isFlatCableStatus == false) { monitorFlag.IsRowLineValid = DeviceWorkStatus.UnAvailable; } else if (monitorCardInfo.SocketCableUInfo == null) { // if (monitorFlag.IsRowLineValid == DeviceWorkStatus.OK) // { // monitorFlag.IsRowLineValid = DeviceWorkStatus.Error; // } } else if (monitorCardInfo.SocketCableUInfo.IsUpdate && monitorCardInfo.SocketCableUInfo.SocketCableInfoCollection != null && monitorCardInfo.SocketCableUInfo.SocketCableInfoCollection.Count > 0) { foreach (SocketCableMonitorInfo socket in monitorCardInfo.SocketCableUInfo.SocketCableInfoCollection) { if (socket.SocketCableInfoDict == null || socket.SocketCableInfoDict.Count == 0) { monitorFlag.IsRowLineValid = DeviceWorkStatus.Error; break; } foreach (List <SocketCableStatus> socketCables in socket.SocketCableInfoDict.Values) { foreach (SocketCableStatus socketcable in socketCables) { if (socketcable.IsCableOK == false) { monitorFlag.IsRowLineValid = DeviceWorkStatus.Error; if (!_lctData.AlarmMonitorInfos.ContainsKey(ledInfo.Commport)) { _lctData.AlarmMonitorInfos.Add(ledInfo.Commport, new MonitorErrData()); } _lctData.AlarmMonitorInfos[ledInfo.Commport].SoketAlarmCount++; } else if (socketcable.IsCableOK == true && monitorFlag.IsRowLineValid == DeviceWorkStatus.Unknown) { monitorFlag.IsRowLineValid = DeviceWorkStatus.OK; } } } if (monitorFlag.IsRowLineValid == DeviceWorkStatus.Error) { break; } } _lctData.ValidInfo.IsRowLineValid = true; } } }
private void SetCareRegisterInfo(string sn) { DataOneRegistationInfo uc_one = new DataOneRegistationInfo(); LedBasicInfo led = MonitorAllConfig.Instance().LedInfoList.Find(a => a.Sn == sn); if (led == null) { return; } uc_one.Sn = led.Sn; uc_one.Width = led.Width; uc_one.Height = led.Height; uc_one.Mac = AppDataConfig.CurrentMAC; string cardNum = ""; string cardNumSave = ""; int receiverCount = 0; LedMonitoringConfig ledMonitor = MonitorAllConfig.Instance().LedMonitorConfigs.Find(a => a.SN == led.Sn); foreach (PartInfo part in led.PartInfos) { switch (part.Type) { case DeviceType.SendCard: cardNum += string.Format("{0}:{1} ", part.Type.ToString(), part.Amount); cardNumSave += string.Format("+{0}", part.Amount.ToString()); break; case DeviceType.ReceiverCard: cardNum += string.Format("{0}:{1} ", part.Type.ToString(), part.Amount); cardNumSave += string.Format("+{0}", part.Amount.ToString()); receiverCount = part.Amount; break; case DeviceType.MonitoringCard: if (ledMonitor != null && ledMonitor.MonitoringCardConfig != null && ledMonitor.MonitoringCardConfig.MonitoringEnable) { cardNum += string.Format("{0}:{1} ", part.Type.ToString(), receiverCount); cardNumSave += string.Format("+{0}", receiverCount.ToString()); } else { cardNum += string.Format("{0}:{1} ", part.Type.ToString(), 0); cardNumSave += 0.ToString(); } break; } } uc_one.Card_Num = cardNum; uc_one.Card_NumSave = cardNumSave.Substring(1); var ledRegs = from tmp in MonitorAllConfig.Instance().LedRegistationUiList where tmp.SN == sn select tmp; if (ledRegs == null) { return; } foreach (LedRegistationInfoResponse ledReg in ledRegs) { uc_one.IsRegister = ledReg.IsRegisted; uc_one.Led_name = ledReg.Name; uc_one.UserId = ledReg.User; uc_one.Latitude = ledReg.Latitude; uc_one.Longitude = ledReg.Longitude; } Uc_CareRegisters.Add(uc_one); }
private LedMonitoringConfig SetMonitorCfg() { LedMonitoringConfig ledHWCfg = new LedMonitoringConfig(); ledHWCfg.SN = _sn; ledHWCfg.MonitoringCardConfig = new MonitoringCardConfig(); ledHWCfg.MonitoringCardConfig.MonitoringEnable = IsMonitorCardConnected; if (!IsMonitorCardConnected) { return(ledHWCfg); } ledHWCfg.MonitoringCardConfig.ParameterConfigTable = new List <ParameterMonitoringConfig>(); ParameterMonitoringConfig pCfg = new ParameterMonitoringConfig(); //Humidity pCfg.ConfigMode = ParameterConfigMode.NoneExtendedMode; pCfg.MonitoringEnable = IsRefreshHumidity; pCfg.Type = StateQuantityType.Humidity; ledHWCfg.MonitoringCardConfig.ParameterConfigTable.Add(pCfg); //smoke ParameterMonitoringConfig pCfg1 = new ParameterMonitoringConfig(); pCfg1.ConfigMode = ParameterConfigMode.NoneExtendedMode; pCfg1.Type = StateQuantityType.Smoke; pCfg1.MonitoringEnable = IsRefreshSmoke; ledHWCfg.MonitoringCardConfig.ParameterConfigTable.Add(pCfg1); //cabinet ParameterMonitoringConfig pCfg2 = new ParameterMonitoringConfig(); pCfg2.Type = StateQuantityType.FlatCableStatus; pCfg2.ConfigMode = ParameterConfigMode.NoneExtendedMode; pCfg2.MonitoringEnable = IsRefreshCabinet; ledHWCfg.MonitoringCardConfig.ParameterConfigTable.Add(pCfg2); //cabinetdoor ParameterMonitoringConfig pCfg3 = new ParameterMonitoringConfig(); pCfg3.ConfigMode = ParameterConfigMode.NoneExtendedMode; pCfg3.Type = StateQuantityType.DoorStatus; pCfg3.MonitoringEnable = IsRefreshCabinetDoor; ledHWCfg.MonitoringCardConfig.ParameterConfigTable.Add(pCfg3); //fan ParameterMonitoringConfig pCfg4 = new ParameterMonitoringConfig(); if (FanInfo != null) { pCfg4.ReservedConfig = FanInfo.FanSpeed; if (FanInfo.IsRefreshFan) { if (FanInfo.AllFanOfCabinetSame) { pCfg4.ConfigMode = ParameterConfigMode.GeneralExtendedMode; pCfg4.MonitoringEnable = FanInfo.IsRefreshFan; pCfg4.GeneralExtendedConfig = FanInfo.FanCount; } else if (FanInfo.AllFanOfCabinetDif) { pCfg4.ConfigMode = ParameterConfigMode.AdvanceExtendedMode; pCfg4.ExtendedConfig = new List <ParameterExtendedConfig>(); if (FanInfo.AllFanCountDif != null) { foreach (KeyValuePair <string, byte> keyValue in FanInfo.AllFanCountDif) { ParameterExtendedConfig param = new ParameterExtendedConfig(); param.ReceiveCardId = keyValue.Key; param.ParameterCount = keyValue.Value; pCfg4.ExtendedConfig.Add(param); } } } } pCfg4.MonitoringEnable = FanInfo.IsRefreshFan; pCfg4.Type = StateQuantityType.FanSpeed; ledHWCfg.MonitoringCardConfig.ParameterConfigTable.Add(pCfg4); } //Power ParameterMonitoringConfig pCfg5 = new ParameterMonitoringConfig(); if (MCPower != null) { if (MCPower.IsRefreshPower) { if (MCPower.AllPowerOfCabinetSame) { pCfg5.ConfigMode = ParameterConfigMode.GeneralExtendedMode; pCfg5.MonitoringEnable = MCPower.IsRefreshPower; pCfg5.GeneralExtendedConfig = MCPower.PowerCount; } else if (MCPower.AllPowerOfCabinetDif) { pCfg5.ConfigMode = ParameterConfigMode.AdvanceExtendedMode; pCfg5.ExtendedConfig = new List <ParameterExtendedConfig>(); if (MCPower.AllPowerCountDif != null) { foreach (KeyValuePair <string, byte> keyValue in MCPower.AllPowerCountDif) { ParameterExtendedConfig param = new ParameterExtendedConfig(); param.ReceiveCardId = keyValue.Key; param.ParameterCount = keyValue.Value; pCfg5.ExtendedConfig.Add(param); } } } } pCfg5.MonitoringEnable = MCPower.IsRefreshPower; pCfg5.Type = StateQuantityType.Voltage; ledHWCfg.MonitoringCardConfig.ParameterConfigTable.Add(pCfg5); } return(ledHWCfg); }
public bool UpdateHWCfg() { LedMonitoringConfig ledHWCfg = SetMonitorCfg(); return(MonitorAllConfig.Instance().UpdateLedMonitoringConfig(_sn, ledHWCfg)); }
private void InitialHwConfg(LedMonitoringConfig ledMonitorCfg) { if (ledMonitorCfg == null || ledMonitorCfg.MonitoringCardConfig == null || ledMonitorCfg.SN == null) { return; } IsMonitorCardConnected = ledMonitorCfg.MonitoringCardConfig.MonitoringEnable; if (ledMonitorCfg.MonitoringCardConfig.ParameterConfigTable == null || ledMonitorCfg.MonitoringCardConfig.ParameterConfigTable.Count == 0) { return; } ParameterMonitoringConfig cfg = ledMonitorCfg.MonitoringCardConfig.ParameterConfigTable.Find(a => a.Type.Equals(StateQuantityType.FlatCableStatus)); if (cfg != null) { IsRefreshCabinet = cfg.MonitoringEnable; } cfg = ledMonitorCfg.MonitoringCardConfig.ParameterConfigTable.Find(a => a.Type.Equals(StateQuantityType.DoorStatus)); if (cfg != null) { IsRefreshCabinetDoor = cfg.MonitoringEnable; } cfg = ledMonitorCfg.MonitoringCardConfig.ParameterConfigTable.Find(a => a.Type.Equals(StateQuantityType.Humidity)); if (cfg != null) { IsRefreshHumidity = cfg.MonitoringEnable; } cfg = ledMonitorCfg.MonitoringCardConfig.ParameterConfigTable.Find(a => a.Type.Equals(StateQuantityType.Smoke)); if (cfg != null) { IsRefreshSmoke = cfg.MonitoringEnable; } cfg = ledMonitorCfg.MonitoringCardConfig.ParameterConfigTable.Find(a => a.Type.Equals(StateQuantityType.FanSpeed)); FanInfo = new UC_HWConfig_CabinetFanInfo_VM(); if (cfg != null) { FanInfo.IsRefreshFan = cfg.MonitoringEnable; if (FanInfo.IsRefreshFan) { FanInfo.FanSpeed = cfg.ReservedConfig; if (_sn == MonitorAllConfig.Instance().ALLScreenName) { cfg.ConfigMode = ParameterConfigMode.GeneralExtendedMode; } if (cfg.ConfigMode == ParameterConfigMode.GeneralExtendedMode) { FanInfo.AllFanOfCabinetSame = true; FanInfo.AllFanOfCabinetDif = false; FanInfo.FanCount = cfg.GeneralExtendedConfig; } else if (cfg.ConfigMode == ParameterConfigMode.AdvanceExtendedMode) { FanInfo.AllFanOfCabinetSame = false; FanInfo.AllFanOfCabinetDif = true; FanInfo.AllFanCountDif = new SerializableDictionary <string, byte>(); foreach (ParameterExtendedConfig param in cfg.ExtendedConfig) { FanInfo.AllFanCountDif.Add(param.ReceiveCardId, (byte)param.ParameterCount); } } } } cfg = ledMonitorCfg.MonitoringCardConfig.ParameterConfigTable.Find(a => a.Type.Equals(StateQuantityType.Voltage)); MCPower = new UC_HWConfig_MonitorCardPower_VM(); if (cfg != null) { MCPower.IsRefreshPower = cfg.MonitoringEnable; if (MCPower.IsRefreshPower) { if (_sn == MonitorAllConfig.Instance().ALLScreenName) { cfg.ConfigMode = ParameterConfigMode.GeneralExtendedMode; } if (cfg.ConfigMode == ParameterConfigMode.GeneralExtendedMode) { MCPower.AllPowerOfCabinetSame = true; MCPower.AllPowerOfCabinetDif = false; MCPower.PowerCount = cfg.GeneralExtendedConfig; } else if (cfg.ConfigMode == ParameterConfigMode.AdvanceExtendedMode) { MCPower.AllPowerOfCabinetSame = false; MCPower.AllPowerOfCabinetDif = true; MCPower.AllPowerCountDif = new SerializableDictionary <string, byte>(); foreach (ParameterExtendedConfig param in cfg.ExtendedConfig) { MCPower.AllPowerCountDif.Add(param.ReceiveCardId, (byte)param.ParameterCount); } } } } }