Пример #1
0
        private void UpdateLedConfigSyncData()
        {
            List<ConfigInfo> brightnessConfigInfoList = MonitorDataAccessor.Instance().GetLightProbeCfg(string.Empty);
            List<ConfigInfo> alarmConfigInfoList = MonitorDataAccessor.Instance().GetAlarmCfg(string.Empty);
            List<ConfigInfo> pointDetectConfigInfoList = MonitorDataAccessor.Instance().GetPeriodicInspectionCfg(string.Empty);

            for (int screenIndex = 0; screenIndex < LedList.Count; screenIndex++)
            {
                string id = GetScreenId(AppDataConfig.CurrentMAC, LedList[screenIndex].SerialNumber);

                if (!_syncInformationManager.ContainsScreen(id))
                {
                    _syncInformationManager.InitializeSyncDataBy(id);
                }

                if (brightnessConfigInfoList.Any(a => a.SN == LedList[screenIndex].SerialNumber))
                {
                    var cfg = brightnessConfigInfoList.Find(a => a.SN == LedList[screenIndex].SerialNumber);
                    var smartLightConfig = JsonConvert.DeserializeObject<SmartLightConfigInfo>(cfg.Content);
                    if (smartLightConfig != null)
                    {
                        IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();//这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式
                        timeConverter.DateTimeFormat = "HH':'mm':'ss";
                        var brightnessConfig = new BrightnessConfig(smartLightConfig);
                        var brightnessJson = JsonConvert.SerializeObject(brightnessConfig, Newtonsoft.Json.Formatting.Indented, timeConverter);

                        _logService.Debug(string.Format("<-{0}->:ThreadID={1}", "UpdateLedConfigSyncData", System.Threading.Thread.GetDomainID().ToString()));
                        _syncInformationManager.UpdateSyncData(
                           id,
                           new SyncData() { SyncType = SyncType.BrightnessRuleConfig, SyncParam = SyncFlag.Synchronized, SyncContent = brightnessJson, Datestamp = SystemHelper.GetUtcTicksByDateTime(cfg.Time).ToString() });
                    }
                }

                if (alarmConfigInfoList.Any(a => a.SN == LedList[screenIndex].SerialNumber))
                {
                    var cfg = alarmConfigInfoList.Find(a => a.SN == LedList[screenIndex].SerialNumber);
                    var alarmConfig = JsonConvert.DeserializeObject<LedAlarmConfig>(cfg.Content);
                    if (alarmConfig != null)
                    {
                        _logService.Debug(string.Format("<-{0}->:ThreadID={1}", "UpdateLedConfigSyncData", System.Threading.Thread.GetDomainID().ToString()));
                        _syncInformationManager.UpdateSyncData(
                            id,
                            new SyncData() { SyncType = SyncType.AlarmConfig, SyncParam = SyncFlag.Synchronized, SyncContent = cfg.Content, Datestamp = SystemHelper.GetUtcTicksByDateTime(cfg.Time).ToString() });

                    }
                }

                if (pointDetectConfigInfoList.Any(a => a.SN == LedList[screenIndex].SerialNumber))
                {
                    var cfg = pointDetectConfigInfoList.Find(a => a.SN == LedList[screenIndex].SerialNumber);
                    var pointDetect = JsonConvert.DeserializeObject<DetectConfigParams>(cfg.Content);
                    if (pointDetect != null)
                    {
                        _logService.Debug(string.Format("<-{0}->:ThreadID={1}", "UpdateLedConfigSyncData", System.Threading.Thread.GetDomainID().ToString()));
                        _syncInformationManager.UpdateSyncData(
                            id,
                            new SyncData() { SyncType = SyncType.PeriodicInspectionConfig, SyncParam = SyncFlag.Synchronized, SyncContent = cfg.Content, Datestamp = SystemHelper.GetUtcTicksByDateTime(cfg.Time).ToString() });

                    }
                }
            }
        }
Пример #2
0
 public bool SaveSmartLightConfigInfo(string sn, string smartBrightEasyConfigStr)
 {
     long timestamp = SystemHelper.GetUtcTicksByDateTime(DateTime.Now);
     bool result = MonitorDataAccessor.Instance().UpdateLightProbeCfg(sn, smartBrightEasyConfigStr, SystemHelper.GetUtcTicksByDateTime(DateTime.Now));
     if (result)
     {
         IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();//这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式
         timeConverter.DateTimeFormat = "HH':'mm':'ss";
         var smartLightConfigInfo = JsonConvert.DeserializeObject<SmartLightConfigInfo>(smartBrightEasyConfigStr);
         var brightnessConfig = new BrightnessConfig(smartLightConfigInfo);
         var brightnessJson = JsonConvert.SerializeObject(brightnessConfig, Newtonsoft.Json.Formatting.Indented, timeConverter);
         _logService.Debug(string.Format("<-{0}->:ThreadID={1}", "SaveSmartLightConfigInfo", System.Threading.Thread.GetDomainID().ToString()));
         _syncInformationManager.UpdateSyncData(
             GetScreenId(AppDataConfig.CurrentMAC, sn),
             new SyncData() { SyncType = SyncType.BrightnessRuleConfig, SyncParam = SyncFlag.Synchronized, SyncContent = brightnessJson, Datestamp = timestamp.ToString() });
     }
     _logService.Debug(string.Format("<-{0}->:{1}", "SaveSmartLightConfigInfo", result));
     return result;
 }
Пример #3
0
        private void UpdateBrightnessSyncData(string id, ConfigInfo smartLightConfigInfo)
        {
            var smartLightConfig = CommandTextParser.GetDeJsonSerialization<SmartLightConfigInfo>(smartLightConfigInfo.Content);
            var brightnessConfig = new BrightnessConfig(smartLightConfig);
            var brightnessJson = CommandTextParser.GetJsonSerialization<BrightnessConfig>(brightnessConfig);

            _fLogService.Debug(string.Format("<-{0}->:ThreadID={1}", "UpdateBrightnessSyncData", System.Threading.Thread.GetDomainID().ToString()));
            ClientDispatcher.Instance.UpdateSyncData(
                        id,
                        new SyncData() { SyncType = SyncType.BrightnessRuleConfig, SyncParam = SyncFlag.Synchronized, SyncContent = brightnessJson, Datestamp = SystemHelper.GetUtcTicksByDateTime(smartLightConfigInfo.Time).ToString() });
        }