예제 #1
0
        public ApplicationBlockSettingsNode Build()
        {
            this.node = new ApplicationBlockSettingsNode();

            BuildProviders();

            return(node);
        }
        /// <summary>
        /// Adds the default nodes.
        /// </summary>
        /// <param name="node">The <see cref="ApplicationBlockSettingsNode"/> added.</param>
        protected override void ExecuteCore(ConfigurationNode node)
        {
            base.ExecuteCore(node);
            ApplicationBlockSettingsNode blockSettingsNode = ChildNode as ApplicationBlockSettingsNode;

            if (blockSettingsNode == null)
            {
                return;
            }

            blockSettingsNode.Name = "Math";
        }
예제 #3
0
        private void BuildSampleProviderProviders()
        {
            foreach (Math node in hierarchy.FindNodesByType(blockSettingsNode, typeof(Math)))
            {
                blockSettings.SampleProviderProviders.Add(node.SampleProviderData);
            }

            ApplicationBlockSettingsNode appNode =
                hierarchy.FindNodeByType(typeof(ApplicationBlockSettingsNode)) as ApplicationBlockSettingsNode;

            //Provides setting of default database
            if (appNode != null && appNode.DefaultDatabase != null)
            {
                blockSettings.DefaultSampleProviderName = appNode.DefaultDatabase.Name;
            }
        }
        /// <summary>
        /// Gets the a <see cref="ConfigurationSectionInfo"/> for the security settings configuration section.
        /// </summary>
        /// <param name="serviceProvider">The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</param>
        /// <returns>A <see cref="ConfigurationSectionInfo"/> for the security settings configuration section.</returns>
        protected override ConfigurationSectionInfo GetConfigurationSectionInfo(IServiceProvider serviceProvider)
        {
            ConfigurationNode            rootNode = ServiceHelper.GetCurrentRootNode(serviceProvider);
            ApplicationBlockSettingsNode node     = null;

            if (null != rootNode)
            {
                node = rootNode.Hierarchy.FindNodeByType(rootNode, typeof(ApplicationBlockSettingsNode)) as ApplicationBlockSettingsNode;
            }
            ApplicationBlockSettings blockSettings = null;

            if (node != null)
            {
                ApplicationBlockSettingsBuilder builder = new ApplicationBlockSettingsBuilder(serviceProvider, node);
                blockSettings = builder.Build();
            }
            return(new ConfigurationSectionInfo(node, blockSettings, ApplicationBlockSettings.SectionName));
        }
예제 #5
0
 public ApplicationBlockSettingsBuilder(IServiceProvider serviceProvider, ApplicationBlockSettingsNode blockSettingsNode)
 {
     this.blockSettingsNode = blockSettingsNode;
     hierarchy = ServiceHelper.GetCurrentHierarchy(serviceProvider);
 }