コード例 #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="UmbracoDatabaseFactory"/>.
        /// </summary>
        /// <remarks>Used by the other ctor and in tests.</remarks>
        public UmbracoDatabaseFactory(
            ILogger <UmbracoDatabaseFactory> logger,
            ILoggerFactory loggerFactory,
            IOptions <GlobalSettings> globalSettings,
            IOptionsMonitor <ConnectionStrings> connectionStrings,
            IMapperCollection mappers,
            IDbProviderFactoryCreator dbProviderFactoryCreator,
            DatabaseSchemaCreatorFactory databaseSchemaCreatorFactory,
            NPocoMapperCollection npocoMappers)
        {
            _globalSettings               = globalSettings;
            _mappers                      = mappers ?? throw new ArgumentNullException(nameof(mappers));
            _dbProviderFactoryCreator     = dbProviderFactoryCreator ?? throw new ArgumentNullException(nameof(dbProviderFactoryCreator));
            _databaseSchemaCreatorFactory = databaseSchemaCreatorFactory ?? throw new ArgumentNullException(nameof(databaseSchemaCreatorFactory));
            _npocoMappers                 = npocoMappers;
            _logger        = logger ?? throw new ArgumentNullException(nameof(logger));
            _loggerFactory = loggerFactory;

            ConnectionStrings umbracoConnectionString = connectionStrings.Get(Constants.System.UmbracoConnectionName);

            if (!umbracoConnectionString.IsConnectionStringConfigured())
            {
                logger.LogDebug("Missing connection string, defer configuration.");
                return; // not configured
            }

            Configure(umbracoConnectionString);
        }
コード例 #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UmbracoDatabaseFactory"/>.
 /// </summary>
 /// <remarks>Used by the other ctor and in tests.</remarks>
 public UmbracoDatabaseFactory(
     ILogger <UmbracoDatabaseFactory> logger,
     ILoggerFactory loggerFactory,
     IOptions <GlobalSettings> globalSettings,
     IOptionsMonitor <ConnectionStrings> connectionStrings,
     IMapperCollection mappers,
     IDbProviderFactoryCreator dbProviderFactoryCreator,
     DatabaseSchemaCreatorFactory databaseSchemaCreatorFactory,
     NPocoMapperCollection npocoMappers) :
     this(logger, loggerFactory, globalSettings, mappers, dbProviderFactoryCreator, databaseSchemaCreatorFactory, npocoMappers, connectionStrings?.CurrentValue?.UmbracoConnectionString?.ConnectionString)
 {
 }
コード例 #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="UmbracoDatabaseFactory"/>.
        /// </summary>
        /// <remarks>Used by the other ctor and in tests.</remarks>
        public UmbracoDatabaseFactory(
            ILogger <UmbracoDatabaseFactory> logger,
            ILoggerFactory loggerFactory,
            IOptions <GlobalSettings> globalSettings,
            IOptionsMonitor <ConnectionStrings> connectionStrings,
            IMapperCollection mappers,
            IDbProviderFactoryCreator dbProviderFactoryCreator,
            DatabaseSchemaCreatorFactory databaseSchemaCreatorFactory,
            NPocoMapperCollection npocoMappers)
        {
            _globalSettings               = globalSettings;
            _mappers                      = mappers ?? throw new ArgumentNullException(nameof(mappers));
            _dbProviderFactoryCreator     = dbProviderFactoryCreator ?? throw new ArgumentNullException(nameof(dbProviderFactoryCreator));
            _databaseSchemaCreatorFactory = databaseSchemaCreatorFactory ?? throw new ArgumentNullException(nameof(databaseSchemaCreatorFactory));
            _npocoMappers                 = npocoMappers;
            _logger        = logger ?? throw new ArgumentNullException(nameof(logger));
            _loggerFactory = loggerFactory;

            var settings = connectionStrings.CurrentValue.UmbracoConnectionString;

            if (settings == null)
            {
                logger.LogDebug("Missing connection string, defer configuration.");
                return; // not configured
            }

            // could as well be <add name="umbracoDbDSN" connectionString="" providerName="" />
            // so need to test the values too
            if (settings.IsConnectionStringConfigured() == false)
            {
                logger.LogDebug("Empty connection string or provider name, defer configuration.");
                return; // not configured
            }

            Configure(settings.ConnectionString, settings.ProviderName);
        }