/// <summary> /// <para>Saves the configuration settings created for the application.</para> /// </summary> /// <param name="serviceProvider"> /// <para>The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</para> /// </param> public void Save(IServiceProvider serviceProvider) { ConfigurationContext configurationContext = ServiceHelper.GetCurrentConfigurationContext(serviceProvider); if (configurationContext.IsValidSection(DynamicQuerySettings.SectionName)) { DynamicQuerySettingsNode dynamicQuerySettingsNode = null; try { IUIHierarchy hierarchy = ServiceHelper.GetCurrentHierarchy(serviceProvider); dynamicQuerySettingsNode = hierarchy.FindNodeByType(typeof(DynamicQuerySettingsNode)) as DynamicQuerySettingsNode; if (dynamicQuerySettingsNode == null) { return; } DynamicQuerySettings dynamicQuerySettings = dynamicQuerySettingsNode.DynamicQuerySettings; configurationContext.WriteConfiguration(DynamicQuerySettings.SectionName, dynamicQuerySettings); } catch (ConfigurationException e) { ServiceHelper.LogError(serviceProvider, dynamicQuerySettingsNode, e); } catch (InvalidOperationException e) { ServiceHelper.LogError(serviceProvider, dynamicQuerySettingsNode, e); } } }
/// <summary> /// <para>Initialize a new instance of the <see cref="DynamicQuerySettingsNode"/> class with a <see cref="DynamicQuerySettings"/> object.</para> /// </summary> /// <param name="databaseSettings"> /// <para>The <see cref="DatabaseSettings"/> runtime configuration.</para> /// </param> public DynamicQuerySettingsNode(DynamicQuerySettings dynamicQuerySettings) : base() { if (dynamicQuerySettings == null) { throw new ArgumentNullException("DynamicQuerySettings"); } this.dynamicQuerySettings = dynamicQuerySettings; this.instanceRemovedHandler = new ConfigurationNodeChangedEventHandler(OnInstanceNodeRemoved); this.instanceRenameHandler = new ConfigurationNodeChangedEventHandler(OnInstanceNodeRenamed); }
/// <summary> /// <para>Adds to the dictionary configuration data for /// the enterpriselibrary.configurationSettings configuration section.</para> /// </summary> /// <param name="serviceProvider"> /// <para>The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</para> /// </param> /// <param name="configurationDictionary"> /// <para>A <see cref="ConfigurationDictionary"/> to add /// configuration data to.</para></param> public void BuildContext(IServiceProvider serviceProvider, ConfigurationDictionary configurationDictionary) { DynamicQuerySettingsNode node = GetDynamicQuerySettingsNode(serviceProvider); if (node != null) { DynamicQuerySettings settings = node.DynamicQuerySettings; configurationDictionary[DynamicQuerySettings.SectionName] = settings; } }
/// <summary> /// Gets the <see cref="DynamicQueryData"/> from configuration for the named <see cref="DynamicQuery"/> /// </summary> /// <param name="name"> /// The name of the <see cref="DynamicQuery"/>. /// </param> /// <returns> /// A <see cref="DynamicQueryData"/> object. /// </returns> public DynamicQueryData GetDynamicQueryData(string name) { DynamicQuerySettings settings = this.DynamicQuerySettings; if (!settings.DynamicQueryProviders.Contains(name)) { throw new ConfigurationErrorsException(string.Format("Dynamic query providers section '{0}' not defined.", name)); } return(settings.DynamicQueryProviders.Get(name)); }
/// <summary> /// <para>Opens the configuration settings and registers them with the application.</para> /// </summary> /// <param name="serviceProvider"> /// <para>The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</para> /// </param> public void Open(IServiceProvider serviceProvider) { ConfigurationContext configurationContext = ServiceHelper.GetCurrentConfigurationContext(serviceProvider); if (configurationContext.IsValidSection(DynamicQuerySettings.SectionName)) { DynamicQuerySettings dynamicQuerySettings = null; DynamicQuerySettingsNode dynamicQuerySettingsNode = null; try { dynamicQuerySettings = configurationContext.GetConfiguration(DynamicQuerySettings.SectionName) as DynamicQuerySettings; dynamicQuerySettingsNode = new DynamicQuerySettingsNode(dynamicQuerySettings); ConfigurationNode configurationNode = ServiceHelper.GetCurrentRootNode(serviceProvider); configurationNode.Nodes.Add(dynamicQuerySettingsNode); } catch (ConfigurationException e) { ServiceHelper.LogError(serviceProvider, dynamicQuerySettingsNode, e); } } }