private static String DefaultFactoryType()
        {
            InitializeFactorySection();
            FactoryConfigurationElement factory = null;

            try
            {
                lockFactorySection.EnterReadLock();
                foreach (FactoryConfigurationElement e in _factorySection.Values)
                {
                    factory = e;
                    if (factory.IsDefault)
                    {
                        break;
                    }
                }
            }
            finally
            {
                lockFactorySection.ExitReadLock();
            }
            if (factory == null)
            {
                return(null);
            }
            return(factory.FactoryType);
        }
        /// <summary>
        /// Gets the default factory type.
        /// </summary>
        /// <returns>The type name of the element.</returns>
        public String DefaultFactoryType()
        {
            FactoryConfigurationElement factory = null;

            foreach (ConfigurationElement e in this)
            {
                factory = e as FactoryConfigurationElement;
                if (factory.IsDefault)
                {
                    break;
                }
            }
            return(factory.FactoryType);
        }
        /// <summary>
        /// Gets the factory dbtype according to the parameter.
        /// </summary>
        /// <param name="factoryname">The factory name to get the information from.</param>
        /// <returns></returns>
        public DatabaseType FactoryDbType(String factoryname)
        {
            FactoryConfigurationElement factory = null;

            if (String.IsNullOrEmpty(factoryname))
            {
                foreach (ConfigurationElement e in this)
                {
                    factory = e as FactoryConfigurationElement;
                    if (factory.IsDefault)
                    {
                        break;
                    }
                }
            }
            else
            {
                factory = this[factoryname];
            }
            return(factory.DatabaseType);
        }
 /// <summary>
 /// Adds a new element to the collection.
 /// </summary>
 /// <param name="factory">The factory to be added.</param>
 public void Add(FactoryConfigurationElement factory)
 {
     BaseAdd(factory);
 }