示例#1
0
        /// <summary>
        /// Given a provider name locate the necessary
        /// <see cref="AdoTrackingResourceAccessor" /> in the configuration file.
        /// </summary>
        /// <returns>
        /// An <see cref="AdoTrackingResourceAccessor" />.
        /// </returns>
        public static AdoTrackingResourceAccessor Create(
            IAdoResourceProvider resourceProvider, ITrackingNameResolver nameResolver,
            IAdoValueReader valueReader, Transaction transaction, IStateProvider stateProvider)
        {
            // locate any mappings for the specified provider
            ProviderNameTypeMapping mapping = TrackingAdoProviderSettings.Get()
                                              .ResourceAccessors.FindByProviderName(resourceProvider.ProviderName);

            AdoTrackingResourceAccessor resourceAccessor;

            if (mapping != null)
            {
                resourceAccessor =
                    TypeUtilities.CreateInstance <AdoTrackingResourceAccessor>(
                        mapping.Type, new object[]
                {
                    resourceProvider, nameResolver, valueReader,
                    transaction, stateProvider
                });
            }
            else
            {
                return(new AdoTrackingResourceAccessor(
                           resourceProvider, nameResolver, valueReader,
                           transaction, stateProvider));
            }

            return(resourceAccessor);
        }
示例#2
0
        /// <summary>
        /// Given a provider name locate the necessary <see cref="ITrackingNameResolver" />
        /// in the configuration file.
        /// </summary>
        /// <param name="providerName">
        /// The name that uniquely identifies an ADO.NET provider.
        /// </param>
        /// <returns>
        /// An <see cref="ITrackingNameResolver" />.
        /// </returns>
        public static ITrackingNameResolver Create(string providerName)
        {
            // locate any mappings for the specified provider
            ProviderNameTypeMapping mapping = TrackingAdoProviderSettings.Get()
                                              .NameResolvers.FindByProviderName(providerName);

            ITrackingNameResolver nameResolver = null;

            if (mapping != null)
            {
                nameResolver = TypeUtilities.CreateInstance <ITrackingNameResolver>(mapping.Type);
            }

            return(nameResolver);
        }
示例#3
0
        /// <summary>
        /// Given a provider name locate the necessary <see cref="IAdoNameResolver" />
        /// in the configuration file.
        /// </summary>
        /// <param name="providerName">
        /// The name that uniquely identifies an ADO.NET provider.
        /// </param>
        /// <returns>
        /// An <see cref="IAdoNameResolver" />.
        /// </returns>
        public static IAdoNameResolver Create(string providerName)
        {
            // locate any mappings for the specified provider
            ProviderNameTypeMapping mapping =
                DbProviderSettings.Get(AdoWorkflowPersistenceService.ConfigurationSectionName)
                .NameResolvers.FindByProviderName(providerName);

            IAdoNameResolver nameResolver = null;

            if (mapping != null)
            {
                nameResolver = TypeUtilities.CreateInstance <IAdoNameResolver>(mapping.Type);
            }

            return(nameResolver);
        }
示例#4
0
        /// <summary>
        /// Given a section name and provider name locate the necessary
        /// <see cref="IAdoValueReader" /> in the configuration file.
        /// </summary>
        /// <param name="providerName">
        /// The name that uniquely identifies an ADO.NET provider.
        /// </param>
        /// <returns>
        /// An <see cref="IAdoValueReader" />.
        /// </returns>
        public static IAdoValueReader Create(String providerName)
        {
            // locate any mappings for the specified provider
            ProviderNameTypeMapping mapping = CommonAdoProviderSettings.Get()
                                              .ValueReaders.FindByProviderName(providerName);

            IAdoValueReader valueReader;

            if (mapping != null)
            {
                valueReader = TypeUtilities.CreateInstance <IAdoValueReader>(mapping.Type);
            }
            else
            {
                // no value reader mapping found in config
                // return the default value reader
                valueReader = new DefaultAdoValueReader();
            }

            return(valueReader);
        }
示例#5
0
        /// <summary>
        /// Given a provider name either locate the necessary <see cref="IAdoResourceProvider" />
        /// in the configuration file or return the default (<see cref="DefaultAdoResourceProvider" />).
        /// </summary>
        /// <param name="sectionName">
        /// Configuration section to retrieve data from.
        /// </param>
        /// <param name="providerName">
        /// The name that uniquely identifies an ADO.NET provider.
        /// </param>
        /// <returns>
        /// An <see cref="IAdoResourceProvider" />.
        /// </returns>
        public static IAdoResourceProvider Create(string sectionName, string providerName)
        {
            // locate any mappings for the specified provider
            ProviderNameTypeMapping mapping =
                DbProviderSettings.Get(sectionName).ResourceProviders.FindByProviderName(
                    providerName);

            IAdoResourceProvider resourceProvider;

            if (mapping != null)
            {
                resourceProvider = TypeUtilities.CreateInstance <IAdoResourceProvider>(mapping.Type);
            }
            else
            {
                // no resource provider mapping found in config
                // return the default resource provider
                resourceProvider = new DefaultAdoResourceProvider();
            }

            return(resourceProvider);
        }
示例#6
0
        /// <summary>
        /// Given a provider name either locate the necessary <see cref="IAdoResourceProvider" />
        /// in the configuration file or return the default (<see cref="DefaultAdoResourceProvider" />).
        /// </summary>
        /// <param name="connectionStringSettings">
        /// The name that uniquely identifies an ADO.NET provider.
        /// </param>
        /// <returns>
        /// An <see cref="IAdoResourceProvider" />.
        /// </returns>
        public static IAdoResourceProvider Create(ConnectionStringSettings connectionStringSettings)
        {
            // locate any mappings for the specified provider
            ProviderNameTypeMapping mapping = CommonAdoProviderSettings.Get()
                                              .ResourceProviders.FindByProviderName(connectionStringSettings.ProviderName);

            IAdoResourceProvider resourceProvider = null;

            if (mapping != null)
            {
                resourceProvider = TypeUtilities.CreateInstance <IAdoResourceProvider>(mapping.Type);
            }

            if (resourceProvider == null)
            {
                // no resource provider mapping found in config
                // return the default resource provider
                resourceProvider = new DefaultAdoResourceProvider();
            }

            resourceProvider.Initialise(connectionStringSettings);

            return(resourceProvider);
        }