public DatabaseConnectionDetector(
     IConnectionStringSettings connectionStringSettings,
     IDatabaseProvider databaseProvider)
 {
     this.connectionStringSettings = connectionStringSettings;
     this.databaseProvider = databaseProvider;
 }
예제 #2
0
        private static OracleVersion DetectProviderVersion(IConnectionStringSettings css, string connectionString, OracleProvider provider)
        {
            try
            {
                var cs = string.IsNullOrWhiteSpace(connectionString) ? css.ConnectionString : connectionString;

                var providerAdapter = OracleProviderAdapter.GetInstance(provider);

                using (var conn = providerAdapter.CreateConnection(cs))
                {
                    conn.Open();

                    var command = conn.CreateCommand();
                    command.CommandText = "SELECT  VERSION from PRODUCT_COMPONENT_VERSION WHERE ROWNUM = 1";
                    if (command.ExecuteScalar() is string result)
                    {
                        var version = int.Parse(result.Split('.')[0]);

                        if (version <= 11)
                        {
                            return(OracleVersion.v11);
                        }

                        return(OracleVersion.v12);
                    }
                    return(DefaultVersion);
                }
            }
            catch
            {
                return(DefaultVersion);
            }
        }
 public BulkReplicationActor(
     IDataObjectTypesProviderFactory dataObjectTypesProviderFactory,
     IConnectionStringSettings connectionStringSettings)
 {
     _dataObjectTypesProviderFactory = dataObjectTypesProviderFactory;
     _connectionStringSettings       = connectionStringSettings;
 }
예제 #4
0
        internal static IDataProvider?ProviderDetector(IConnectionStringSettings css, string connectionString)
        {
            if (connectionString.Contains("Microsoft.ACE.OLEDB") ||
                connectionString.Contains("Microsoft.Jet.OLEDB"))
            {
                return(_accessOleDbDataProvider.Value);
            }

            if (css.ProviderName == ProviderName.AccessOdbc ||
                css.Name.Contains("Access.Odbc"))
            {
                return(_accessODBCDataProvider.Value);
            }

            if (css.ProviderName == ProviderName.Access || css.Name.Contains("Access"))
            {
                if (connectionString.Contains("*.mdb") ||
                    connectionString.Contains("*.accdb"))
                {
                    return(_accessODBCDataProvider.Value);
                }

                return(_accessOleDbDataProvider.Value);
            }

            return(null);
        }
예제 #5
0
 public CopyTablesActor(
     IDataObjectTypesProviderFactory dataObjectTypesProviderFactory,
     IConnectionStringSettings connectionStringSettings)
 {
     _dataObjectTypesProviderFactory = dataObjectTypesProviderFactory;
     _connectionStringSettings       = connectionStringSettings;
 }
예제 #6
0
 public BulkReplicationActor(
     IDataObjectTypesProviderFactory dataObjectTypesProviderFactory,
     IConnectionStringSettings connectionStringSettings)
 {
     _dataObjectTypesProviderFactory = dataObjectTypesProviderFactory;
     _connectionStringSettings = connectionStringSettings;
 }
예제 #7
0
        public static IUnityContainer ConfigureTracer(
            this IUnityContainer container,
            IEnvironmentSettings environmentSettings,
            IConnectionStringSettings connectionStringSettings)
        {
            var tracerContextEntryProviders =
                new ITracerContextEntryProvider[]
            {
                new TracerContextConstEntryProvider(TracerContextKeys.Required.Environment, environmentSettings.EnvironmentName),
                new TracerContextConstEntryProvider(TracerContextKeys.Required.EntryPoint, environmentSettings.EntryPointName),
                new TracerContextConstEntryProvider(TracerContextKeys.Required.EntryPointHost, NetworkInfo.ComputerFQDN),
                new TracerContextConstEntryProvider(TracerContextKeys.Required.EntryPointInstanceId, Guid.NewGuid().ToString()),
                new TracerContextSelfHostedEntryProvider(TracerContextKeys.Required.UserAccount)         // TODO {all, 08.05.2015}: Если появится авторизация, надо будет доработать логирование
            };

            var tracerContextManager = new TracerContextManager(tracerContextEntryProviders);
            var tracer = Log4NetTracerBuilder.Use
                         .DefaultXmlConfig
                         .EventLog
                         .Logstash(new Uri(connectionStringSettings.GetConnectionString(LoggingConnectionStringIdentity.Instance)))
                         .Build;

            return(container.RegisterInstance(tracer)
                   .RegisterInstance(tracerContextManager));
        }
        private static IUnityContainer ConfigureTracer(
            this IUnityContainer container,
            IEnvironmentSettings environmentSettings,
            IConnectionStringSettings connectionStringSettings)
        {
            var tracerContextEntryProviders =
                    new ITracerContextEntryProvider[]
                    {
                        new TracerContextConstEntryProvider(TracerContextKeys.Required.Environment, environmentSettings.EnvironmentName),
                        new TracerContextConstEntryProvider(TracerContextKeys.Required.EntryPoint, environmentSettings.EntryPointName),
                        new TracerContextConstEntryProvider(TracerContextKeys.Required.EntryPointHost, NetworkInfo.ComputerFQDN),
                        new TracerContextConstEntryProvider(TracerContextKeys.Required.EntryPointInstanceId, Guid.NewGuid().ToString()),
                        new TracerContextSelfHostedEntryProvider(TracerContextKeys.Required.UserAccount) // TODO {all, 08.05.2015}: Если появится авторизация, надо будет доработать логирование
                    };

            var tracerContextManager = new TracerContextManager(tracerContextEntryProviders);
            var tracer = Log4NetTracerBuilder.Use
                                             .ApplicationXmlConfig
                                             .EventLog
                                             .Logstash(new Uri(connectionStringSettings.GetConnectionString(LoggingConnectionStringIdentity.Instance)))
                                             .Build;

            return container.RegisterInstance(tracer)
                            .RegisterInstance(tracerContextManager)
                            .RegisterType<IExceptionLogger, ExceptionTracer>("log4net", Lifetime.Singleton);
        }
예제 #9
0
 public IPersistenceConfigurer GetDatabaseConfiguration(IConnectionStringSettings connectionStringSettings)
 {
     return MsSqlConfiguration.MsSql2008.ConnectionString(connectionStringSettings.ConnectionString)
         .Driver<ProfiledSqlClientDriver>()
         .ShowSql()
         .DefaultSchema(connectionStringSettings.Schema);
 }
예제 #10
0
 public DatabaseConnectionDetector(
     IConnectionStringSettings connectionStringSettings,
     IDatabaseProvider databaseProvider)
 {
     this.connectionStringSettings = connectionStringSettings;
     this.databaseProvider         = databaseProvider;
 }
예제 #11
0
 public MappedConnectionStringSettings(
     IConnectionStringSettings connectionStringSettings,
     IReadOnlyDictionary <IConnectionStringIdentity, IConnectionStringIdentity> mapping)
 {
     _connectionStringSettings = connectionStringSettings;
     _mapping = mapping;
 }
예제 #12
0
 public ApplicationDatabase(
     IConnectionStringSettings connectionStringSettings,
     Func<IDatabaseProvider> databaseProvider)
 {
     this.connectionStringSettings = connectionStringSettings;
     this.databaseProvider = databaseProvider;
 }
 /// <summary>
 /// <inheritdoc />
 /// </summary>
 public void Add(IConnectionStringSettings settings)
 {
     if (settings != null)
     {
         cnxSettingsCollection.Add((ConnectionStringSettings)settings.GetObject());
     }
 }
예제 #14
0
 public IPersistenceConfigurer GetDatabaseConfiguration(IConnectionStringSettings connectionStringSettings)
 {
     return(MsSqlConfiguration.MsSql2008.ConnectionString(connectionStringSettings.ConnectionString)
            .Driver <ProfiledSqlClientDriver>()
            .ShowSql()
            .DefaultSchema(connectionStringSettings.Schema));
 }
예제 #15
0
 public LinqToDBSettings(
     string connectionName,
     string providerName,
     string connectionString)
 {
     _connectionStringSettings = new ConnectionStringSettings(connectionName, connectionString, providerName);
 }
예제 #16
0
        public void RegisterSupportedConnections(TridentOptions config, IConnectionStringSettings connStringManager, IIoCProvider provider)
        {
            provider.Register <OptionsFactory, IOptionsFactory>(LifeSpan.SingleInstance);
            provider.Register <EFCoreModelBuilderFactory, IEFCoreModelBuilderFactory>(LifeSpan.SingleInstance);
            provider.Register <DBProviderAbstractFactory, IDBProviderAbstractFactory>(LifeSpan.SingleInstance);
            provider.Register <EntityMapFactory, IEntityMapFactory>(LifeSpan.SingleInstance);
            provider.RegisterAll <IEntityMapper>(config.TargetAssemblies, LifeSpan.SingleInstance);

            //this is so context objects dataSourceName does blowup if verify is used
            provider.RegisterBehavior <string>(() => "Test container Verify String", LifeSpan.SingleInstance);
            provider.RegisterBehavior <DbContextOptions>(() => new InjectionVerifyDbContextOptions());

            if (connStringManager.Count() > 0)
            {
                foreach (var conn in connStringManager)
                {
                    var pn = conn.ProviderName.ToLower();

                    if (ProviderSetups.ContainsKey(pn))
                    {
                        ProviderSetups[pn](provider, config, conn);
                    }
                }
            }
            else
            {
                //add warning
            }
        }
예제 #17
0
 public ApplicationDatabase(
     IConnectionStringSettings connectionStringSettings,
     Func <IDatabaseProvider> databaseProvider)
 {
     this.connectionStringSettings = connectionStringSettings;
     this.databaseProvider         = databaseProvider;
 }
        public Linq2dbSettings(IConfiguration configuration)
        {
            // Figure out the database name from the connection string.
            var sDBConnection = configuration["ConnectionStrings:DefaultConnection"];
            var arrDBConnName = sDBConnection.Split("Database=");
            var sDBName       = arrDBConnName.Length > 1 ? arrDBConnName[1] : "DemoDB";
            var nEndIndx      = sDBName.IndexOf(";");

            if (nEndIndx > 0)
            {
                sDBName = sDBName.Substring(0, nEndIndx);
            }
            var sProviderName = configuration["Authentication:Linq2db:ProviderName"] ?? "";

            if (sProviderName.Length == 0)
            {
                sProviderName = msDefaultProviderName;
            }

            mConnectionStringSettings = new ConnectionStringSettings
            {
                Name             = sDBName,
                ProviderName     = sProviderName,
                ConnectionString = sDBConnection
            };
        }
예제 #19
0
        private static IDataProvider ProviderDetector(IConnectionStringSettings css, string connectionString)
        {
            if (css.IsGlobal)
            {
                return(null);
            }
            if (css.Name == DB2iSeriesFactory.ProviderName || new[] { DB2iSeriesFactory.ProviderName, AssemblyName }.Contains(css.ProviderName))
            {
                if (AutoDetectProvider)
                {
                    try
                    {
                        var connectionType    = Type.GetType(ConnectionTypeName, true);
                        var connectionCreator = DynamicDataProviderBase.CreateConnectionExpression(connectionType).Compile();
                        var cs = string.IsNullOrWhiteSpace(connectionString) ? css.ConnectionString : connectionString;

                        using (var conn = connectionCreator(cs))
                        {
                            conn.Open();
                            return(_db2iSeriesDataProvider);
                        }
                    }
                    catch (Exception)
                    {
                    }
                }
            }
            return(null);
        }
 public MappedConnectionStringSettings(
     IConnectionStringSettings connectionStringSettings,
     IReadOnlyDictionary<IConnectionStringIdentity, IConnectionStringIdentity> mapping)
 {
     _connectionStringSettings = connectionStringSettings;
     _mapping = mapping;
 }
예제 #21
0
        private MongoDbManager(string collectionName, IConnectionStringSettings settings)
        {
            var url      = new MongoUrl(settings.MongoDb);
            var client   = new MongoClient(url);
            var database = client.GetDatabase(url.DatabaseName);

            _collection = database.GetCollection <T>(collectionName);
        }
 public BulkReplicationAdapter(ActMetadataElement metadata, IMetadataProvider metadataProvider, ConnectionStringSettingsAspect connectionStringSettings)
 {
     _key = new T();
     _connectionStringSettings = MappedConnectionStringSettings.CreateMappedSettings(
         connectionStringSettings,
         metadata,
         metadataProvider.GetMetadataSet <SchemaMetadataIdentity>().Metadata.Values.Cast <SchemaMetadataElement>().ToDictionary(x => x.Context, x => x));
 }
 public BulkReplicationActor(
     IDataObjectTypesProviderFactory dataObjectTypesProviderFactory,
     IConnectionStringSettings connectionStringSettings,
     IAccessorTypesProvider accessorTypesProvider)
 {
     _dataObjectTypesProviderFactory = dataObjectTypesProviderFactory;
     _connectionStringSettings       = connectionStringSettings;
     _bulkReplicator = new BulkReplicator(accessorTypesProvider);
 }
 public void SetUp()
 {
     connectionString                  = Substitute.For <IConnectionStringSettings>();
     connectionString.Schema           = "dbo";
     connectionString.DatabaseProvider = "sql";
     applicationDatabase               = Substitute.For <IApplicationDatabase>();
     databaseProvider                  = Substitute.For <IDatabaseProvider>();
     detector = new DatabaseUpgradeDetector(connectionString, extensions, applicationDatabase, databaseProvider);
 }
 public void SetUp()
 {
     connectionString = Substitute.For<IConnectionStringSettings>();
     connectionString.Schema = "dbo";
     connectionString.DatabaseProvider = "sql";
     applicationDatabase = Substitute.For<IApplicationDatabase>();
     databaseProvider = Substitute.For<IDatabaseProvider>();
     detector = new DatabaseUpgradeDetector(connectionString, extensions, applicationDatabase, databaseProvider);
 }
예제 #26
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SharedConnectionStringResolver"/> class.
 /// </summary>
 /// <param name="connectionStringSettings">The connection string settings.</param>
 public SharedConnectionStringResolver(IConnectionStringSettings connectionStringSettings, IDBProviderAbstractFactory dBProviderAbstractFactory)
 {
     _connectionStringSettings      = connectionStringSettings;
     this.dBProviderAbstractFactory = dBProviderAbstractFactory;
     _sharedDataSourceMappings      = new Dictionary <string, string>();
     foreach (var conn in connectionStringSettings)
     {
         _sharedDataSourceMappings.Add(conn.Name, conn.ConnectionString);
     }
 }
예제 #27
0
        internal static IDataProvider?ProviderDetector(IConnectionStringSettings css, string connectionString)
        {
            if (css.ProviderName is ProviderName.Firebird or FirebirdProviderAdapter.ClientNamespace ||
                css.Name.Contains("Firebird"))
            {
                return(_firebirdDataProvider.Value);
            }

            return(null);
        }
예제 #28
0
        private static IDataProvider GetDataProvider(IConnectionStringSettings css, string connectionString, bool managed)
        {
            var version = DefaultVersion;

            if (AutoDetectProvider)
            {
                version = DetectProviderVersion(css, connectionString, managed);
            }

            return(GetVersionedDataProvider(version, managed));
        }
예제 #29
0
 public DatabaseUpgradeDetector(
     IConnectionStringSettings connectionStringSettings,
     IEnumerable <ScriptedExtension> extensions,
     IApplicationDatabase database,
     IDatabaseProvider databaseProvider)
 {
     this.connectionStringSettings = connectionStringSettings;
     this.extensions       = extensions;
     this.database         = database;
     this.databaseProvider = databaseProvider;
 }
예제 #30
0
 public DatabaseUpgradeDetector(
     IConnectionStringSettings connectionStringSettings,
     IEnumerable<ScriptedExtension> extensions,
     IApplicationDatabase database,
     IDatabaseProvider databaseProvider)
 {
     this.connectionStringSettings = connectionStringSettings;
     this.extensions = extensions;
     this.database = database;
     this.databaseProvider = databaseProvider;
 }
예제 #31
0
        internal static IDataProvider?ProviderDetector(IConnectionStringSettings css, string connectionString)
        {
            if (css.ProviderName?.Contains("SqlCe") == true ||
                css.ProviderName?.Contains("SqlServerCe") == true ||
                css.Name.Contains("SqlCe") ||
                css.Name.Contains("SqlServerCe"))
            {
                return(_sqlCeDataProvider.Value);
            }

            return(null);
        }
예제 #32
0
        internal static IDataProvider?ProviderDetector(IConnectionStringSettings css, string connectionString)
        {
            if (css.IsGlobal)
            {
                return(null);
            }

            switch (css.ProviderName)
            {
            case SQLiteProviderAdapter.SystemDataSQLiteClientNamespace:
            case ProviderName.SQLiteClassic: return(_SQLiteClassicDataProvider.Value);

            case SQLiteProviderAdapter.MicrosoftDataSQLiteClientNamespace:
            case "Microsoft.Data.SQLite":
            case ProviderName.SQLiteMS: return(_SQLiteMSDataProvider.Value);

            case "":
            case null:
                if (css.Name.Contains("SQLite") || css.Name.Contains("Sqlite"))
                {
                    goto case ProviderName.SQLite;
                }
                break;

            case ProviderName.SQLite:
                if (css.Name.Contains("MS") || css.Name.Contains("Microsoft"))
                {
                    return(_SQLiteMSDataProvider.Value);
                }

                if (css.Name.Contains("Classic"))
                {
                    return(_SQLiteClassicDataProvider.Value);
                }

                return(GetDataProvider());

            case var providerName when providerName.Contains("SQLite") || providerName.Contains("Sqlite"):
                if (css.ProviderName.Contains("MS") || css.ProviderName.Contains("Microsoft"))
                {
                    return(_SQLiteMSDataProvider.Value);
                }

                if (css.ProviderName.Contains("Classic"))
                {
                    return(_SQLiteClassicDataProvider.Value);
                }

                return(GetDataProvider());
            }

            return(null);
        }
예제 #33
0
        internal static IDataProvider?ProviderDetector(IConnectionStringSettings css, string connectionString)
        {
            if (css.IsGlobal)
            {
                return(null);
            }

            switch (css.ProviderName)
            {
            case ProviderName.MySqlOfficial:
            case MySqlProviderAdapter.MySqlDataAssemblyName: return(_mySqlDataProvider.Value);

            case ProviderName.MySqlConnector: return(_mySqlConnectorDataProvider.Value);

            case "":
            case null:
                if (css.Name.Contains("MySql"))
                {
                    goto case ProviderName.MySql;
                }
                break;

            case MySqlProviderAdapter.ClientNamespace:
            case ProviderName.MySql:
                if (css.Name.Contains(MySqlProviderAdapter.MySqlConnectorAssemblyName))
                {
                    return(_mySqlConnectorDataProvider.Value);
                }

                if (css.Name.Contains(MySqlProviderAdapter.MySqlDataAssemblyName))
                {
                    return(_mySqlDataProvider.Value);
                }

                return(GetDataProvider());

            case var providerName when providerName.Contains("MySql"):
                if (providerName.Contains(MySqlProviderAdapter.MySqlConnectorAssemblyName))
                {
                    return(_mySqlConnectorDataProvider.Value);
                }

                if (providerName.Contains(MySqlProviderAdapter.MySqlDataAssemblyName))
                {
                    return(_mySqlDataProvider.Value);
                }

                goto case ProviderName.MySql;
            }

            return(null);
        }
예제 #34
0
        public static IConnectionStringSettings CreateMappedSettings(IConnectionStringSettings baseSettings, ActMetadataElement actMetadata, IDictionary <string, SchemaMetadataElement> schemaMetadata)
        {
            var mapping = new Dictionary <IConnectionStringIdentity, IConnectionStringIdentity>();

            foreach (var context in new[] { actMetadata.Source, actMetadata.Target })
            {
                var contextDbConnection  = schemaMetadata[context].ConnectionStringIdentity;
                var bulktoolDbConnection = Mapping[contextDbConnection];
                mapping.Add(bulktoolDbConnection, contextDbConnection);
            }

            return(new MappedConnectionStringSettings(baseSettings, mapping));
        }
 public KafkaReplicationActor(
     IConnectionStringSettings connectionStringSettings,
     IKafkaMessageFlowReceiverFactory kafkaMessageFlowReceiverFactory,
     KafkaMessageFlowInfoProvider kafkaMessageFlowInfoProvider,
     IReadOnlyCollection <IBulkCommandFactory <ConsumeResult <Ignore, byte[]> > > commandFactories,
     ITracer tracer)
 {
     _connectionStringSettings     = connectionStringSettings;
     _receiverFactory              = kafkaMessageFlowReceiverFactory;
     _kafkaMessageFlowInfoProvider = kafkaMessageFlowInfoProvider;
     _commandFactories             = commandFactories;
     _tracer = tracer;
 }
예제 #36
0
 public ReportingJob(ITracer tracer,
                     ISignInService signInService,
                     IUserImpersonationService userImpersonationService,
                     ITelemetryPublisher telemetry,
                     IConnectionStringSettings connectionStringSettings,
                     IServiceBusMessageReceiverSettings serviceBusMessageReceiverSettings)
     : base(signInService, userImpersonationService, tracer)
 {
     _telemetry = telemetry;
     _serviceBusMessageReceiverSettings = serviceBusMessageReceiverSettings;
     _manager = NamespaceManager.CreateFromConnectionString(connectionStringSettings.GetConnectionString(ServiceBusConnectionStringIdentity.Instance));
     _sqlConnection = new SqlConnection(connectionStringSettings.GetConnectionString(TransportConnectionStringIdentity.Instance));
 }
        public static IConnectionStringSettings CreateMappedSettings(IConnectionStringSettings baseSettings, ActMetadataElement actMetadata, IDictionary<string, SchemaMetadataElement> schemaMetadata)
        {
            var mapping = new Dictionary<IConnectionStringIdentity, IConnectionStringIdentity>();

            foreach (var context in new[] { actMetadata.Source, actMetadata.Target })
            {
                var contextDbConnection = schemaMetadata[context].ConnectionStringIdentity;
                var bulktoolDbConnection = Mapping[contextDbConnection];
                mapping.Add(bulktoolDbConnection, contextDbConnection);
            }

            return new MappedConnectionStringSettings(baseSettings, mapping);
        }
예제 #38
0
 public ReportingJob(ITracer tracer,
                     ISignInService signInService,
                     IUserImpersonationService userImpersonationService,
                     ITelemetryPublisher telemetry,
                     IConnectionStringSettings connectionStringSettings,
                     IServiceBusMessageReceiverSettings serviceBusMessageReceiverSettings)
     : base(signInService, userImpersonationService, tracer)
 {
     _telemetry = telemetry;
     _serviceBusMessageReceiverSettings = serviceBusMessageReceiverSettings;
     _manager       = NamespaceManager.CreateFromConnectionString(connectionStringSettings.GetConnectionString(ServiceBusConnectionStringIdentity.Instance));
     _sqlConnection = new SqlConnection(connectionStringSettings.GetConnectionString(TransportConnectionStringIdentity.Instance));
 }
 public KafkaReplicationActor(
     IConnectionStringSettings connectionStringSettings,
     IDataObjectTypesProviderFactory dataObjectTypesProviderFactory,
     IKafkaMessageFlowReceiverFactory kafkaMessageFlowReceiverFactory,
     KafkaMessageFlowInfoProvider kafkaMessageFlowInfoProvider,
     IReadOnlyCollection <IBulkCommandFactory <Confluent.Kafka.Message> > commandFactories,
     ITracer tracer)
 {
     _connectionStringSettings       = connectionStringSettings;
     _dataObjectTypesProviderFactory = dataObjectTypesProviderFactory;
     _receiverFactory = kafkaMessageFlowReceiverFactory;
     _kafkaMessageFlowInfoProvider = kafkaMessageFlowInfoProvider;
     _commandFactories             = commandFactories;
     _tracer = tracer;
 }
예제 #40
0
        public void RegisterSupportedConnections(TridentOptions config, IConnectionStringSettings connStringManager, IIoCProvider provider)
        {
            provider.Register <RestConnectionStringResolver, IRestConnectionStringResolver>(LifeSpan.SingleInstance);
            provider.Register <RestSharpClient, IRestClient>(LifeSpan.SingleInstance);

            //this is so context objects dataSourceName does blowup if verify is used
            provider.RegisterBehavior <string>(() => "Test container Verify String", LifeSpan.SingleInstance);

            foreach (var conn in connStringManager)
            {
                if (ProviderSetups.ContainsKey(conn.ProviderName))
                {
                    ProviderSetups[conn.ProviderName](provider, config, conn);
                }
            }
        }
예제 #41
0
 public ViewRemover(IConnectionStringSettings connectionStringSettings)
 {
     _connectionStringSettings = connectionStringSettings;
 }
 public ServiceBusSettingsFactory(IConnectionStringSettings connectionStringSettings)
 {
     _serviceBusConnectionString = connectionStringSettings.GetConnectionString(ServiceBusConnectionStringIdentity.Instance);
 }
 /// <summary>
 /// <inheritdoc />
 /// </summary>
 public void Add(IConnectionStringSettings settings)
 {
     if (settings != null)
     {
         cnxSettingsCollection.Add((ConnectionStringSettings)settings.GetObject());
     }
 }
 /// <summary>
 /// <inheritdoc />
 /// </summary>
 public int IndexOf(IConnectionStringSettings settings)
 {
     return settings != null ?
         cnxSettingsCollection.IndexOf(
             (ConnectionStringSettings)settings.GetObject()) : 0;
 }
 public DataConnectionFactory(IConnectionStringSettings connectionStringSettings)
 {
     _connectionStringSettings = connectionStringSettings;
 }
예제 #46
0
 public IPersistenceConfigurer GetDatabaseConfiguration(IConnectionStringSettings connectionStringSettings)
 {
     return MsSqlCeConfiguration.Standard.ConnectionString(connectionStringSettings.ConnectionString)
         .Dialect<FunnelWebMsSqlCe40Dialect>().Driver<FunnelWebSqlServerCeDriver>()
         .ShowSql();
 }
예제 #47
0
			public ConfigurationInfo(IConnectionStringSettings connectionStringSettings)
			{
				ConnectionString = connectionStringSettings.ConnectionString;

				_connectionStringSettings = connectionStringSettings;
			}
예제 #48
0
			static IDataProvider GetDataProvider(IConnectionStringSettings css)
			{
				var configuration = css.Name;
				var providerName  = css.ProviderName;
				var dataProvider  = _providerDetectors.Select(d => d(css)).FirstOrDefault(dp => dp != null);

				if (dataProvider == null)
				{
					var defaultDataProvider = DefaultDataProvider != null ? _dataProviders[DefaultDataProvider] : null;

					if (string.IsNullOrEmpty(providerName))
						dataProvider = FindProvider(configuration, _dataProviders, defaultDataProvider);
					else if (_dataProviders.ContainsKey(providerName))
						dataProvider = _dataProviders[providerName];
					else if (_dataProviders.ContainsKey(configuration))
						dataProvider = _dataProviders[configuration];
					else
					{
						var providers = _dataProviders.Where(dp => dp.Value.ConnectionNamespace == providerName).ToList();

						switch (providers.Count)
						{
							case 0  : dataProvider = defaultDataProvider;                                        break;
							case 1  : dataProvider = providers[0].Value;                                         break;
							default : dataProvider = FindProvider(configuration, providers, providers[0].Value); break;
						}
					}
				}

				if (dataProvider != null && DefaultConfiguration == null && !css.IsGlobal/*IsMachineConfig(css)*/)
				{
					DefaultConfiguration = css.Name;
				}

				return dataProvider;
			}