Esempio n. 1
0
        /// <summary>
        /// Gets the a <see cref="ConfigurationSectionInfo"/> for the oracle connection 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 oracle connection configuration section.</returns>
        protected override ConfigurationSectionInfo GetConfigurationSectionInfo(IServiceProvider serviceProvider)
        {
            ConfigurationNode         rootNode = ServiceHelper.GetCurrentRootNode(serviceProvider);
            ODP10ConnectionSettings   odp10ConnectionSection = null;
            IList <ConfigurationNode> connections            = rootNode.Hierarchy.FindNodesByType(typeof(OracleConnectionElementNode));

            if (connections.Count == 0)
            {
                odp10ConnectionSection = null;
            }
            else
            {
                ODP10ConnectionSettingsBuilder builder = new ODP10ConnectionSettingsBuilder(serviceProvider);
                odp10ConnectionSection = builder.Build();
            }
            return(new ConfigurationSectionInfo(rootNode, odp10ConnectionSection, ODP10ConnectionSettings.SectionName));
        }
Esempio n. 2
0
        public ODP10ConnectionSettings Build()
        {
            odp10ConnectionSettings = new ODP10ConnectionSettings();
            IList <ConfigurationNode> connections = hierarchy.FindNodesByType(typeof(OracleConnectionElementNode));

            for (int index = 0; index < connections.Count; ++index)
            {
                ODP10ConnectionData data = new ODP10ConnectionData();
                data.Name = connections[index].Parent.Name;
                foreach (ODP10PackageElementNode node in connections[index].Nodes)
                {
                    data.Packages.Add(node.ODP10PackageElement);
                }
                odp10ConnectionSettings.ODP10ConnectionsData.Add(data);
            }
            return(odp10ConnectionSettings);
        }
        public Database Assemble(string name, ConnectionStringSettings connectionStringSettings, IConfigurationSource configurationSource)
        {
            ODP10ConnectionSettings oracleConnectionSettings = ODP10ConnectionSettings.GetSettings(configurationSource);

            if (oracleConnectionSettings != null)
            {
                ODP10ConnectionData oracleConnectionData = oracleConnectionSettings.ODP10ConnectionsData.Get(name);
                if (oracleConnectionData != null)
                {
                    IODP10Package[] packages = new IODP10Package[oracleConnectionData.Packages.Count];
                    int             i        = 0;
                    foreach (IODP10Package package in oracleConnectionData.Packages)
                    {
                        packages[i++] = package;
                    }

                    return(new ODP10Database(connectionStringSettings.ConnectionString, packages));
                }
            }

            return(new ODP10Database(connectionStringSettings.ConnectionString));
        }
 public ODP10ConnectionNodeBuilder(IServiceProvider serviceProvider, ODP10ConnectionSettings odp10ConnectionSettings)
     : base(serviceProvider)
 {
     this.hierarchy = ServiceHelper.GetCurrentHierarchy(serviceProvider);
     this.odp10ConnectionSettings = odp10ConnectionSettings;
 }