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