private void CopyConfigs() { CommandDispacter.BeginGroup(); for (int i = 0; i < SelConfigs.Count; i++) { IConfig tmpComfig = SelConfigs[i]; IConfig newConfig = tmpComfig.Clone(); CommandDispacter.Do(new AddConfigCommand(configs, newConfig)); } CommandDispacter.EndGroup(); }
public static void UpdateRemoteConfig(IMonitorSystemContext context, string name, string data, bool saveConfig) { IConfig config = null; if (data.StartsWith("<Monitor>")) { config = context.MonitorConfigManager.GetConfig(name); } else if (data.StartsWith("<MonitorType>")) { config = context.MonitorTypeManager.GetConfig(name); } else if (data.StartsWith("<VideoSource>")) { config = context.VideoSourceConfigManager.GetConfig(name); } else if (data.StartsWith("<VideoSourceType>")) { config = context.VideoSourceTypeManager.GetConfig(name); } else if (data.StartsWith("<Action>")) { config = context.ActionConfigManager.GetConfig(name); } else if (data.StartsWith("<ActionType>")) { config = context.ActionTypeManager.GetConfig(name); } else if (data.StartsWith("<Scheduler>")) { config = context.SchedulerConfigManager.GetConfig(name); } else if (data.StartsWith("<SchedulerType>")) { config = context.SchedulerTypeManager.GetConfig(name); } else if (data.StartsWith("<Task>")) { config = context.TaskConfigManager.GetConfig(name); } else if (data.StartsWith("<TaskType>")) { config = context.TaskTypeManager.GetConfig(name); } else if (data.StartsWith("<RemoteSystem>")) { config = context.RemoteSystemConfigManager.GetConfig(name); } else if (data.StartsWith("<Role>")) { config = context.RoleConfigManager.GetConfig(name); } else if (data.StartsWith("<User>")) { config = context.UserConfigManager.GetConfig(name); } if (config != null) { IConfig temp = config.Clone(); temp.BuildConfig(data); if (temp.StoreVersion > config.StoreVersion) { config.BuildConfig(data); config.OnChanged(saveConfig); } } }