Browse Source

Resolved #912: Automatically fill tenants from appsettings.json if available.

pull/926/head
Halil ibrahim Kalkan 8 years ago
parent
commit
d317658e79
  1. 9
      framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/AbpMultiTenancyModule.cs
  2. 7
      framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/DefaultTenantStore.cs
  3. 4
      framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/DefaultTenantStoreOptions.cs
  4. 2
      framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo/Abp/AspNetCore/MultiTenancy/AspNetCoreMultiTenancy_Tests.cs
  5. 2
      framework/test/Volo.Abp.MultiTenancy.Tests/Volo/Abp/Data/MultiTenancy/MultiTenantConnectionStringResolver_Tests.cs
  6. 2
      framework/test/Volo.Abp.MultiTenancy.Tests/Volo/Abp/MultiTenancy/CurrentTenant_Tests.cs

9
framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/AbpMultiTenancyModule.cs

@ -1,5 +1,7 @@
using Volo.Abp.Data; using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Data;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
using Volo.Abp.MultiTenancy.ConfigurationStore;
using Volo.Abp.Security; using Volo.Abp.Security;
namespace Volo.Abp.MultiTenancy namespace Volo.Abp.MultiTenancy
@ -10,6 +12,11 @@ namespace Volo.Abp.MultiTenancy
)] )]
public class AbpMultiTenancyModule : AbpModule public class AbpMultiTenancyModule : AbpModule
{ {
public override void ConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
Configure<DefaultTenantStoreOptions>(configuration);
}
} }
} }

7
framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/ConfigurationTenantStore.cs → framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/DefaultTenantStore.cs

@ -6,13 +6,12 @@ using Volo.Abp.DependencyInjection;
namespace Volo.Abp.MultiTenancy.ConfigurationStore namespace Volo.Abp.MultiTenancy.ConfigurationStore
{ {
//TODO: Move to another package.
[Dependency(TryRegister = true)] [Dependency(TryRegister = true)]
public class ConfigurationTenantStore : ITenantStore, ITransientDependency public class DefaultTenantStore : ITenantStore, ITransientDependency
{ {
private readonly ConfigurationTenantStoreOptions _options; private readonly DefaultTenantStoreOptions _options;
public ConfigurationTenantStore(IOptionsSnapshot<ConfigurationTenantStoreOptions> options) public DefaultTenantStore(IOptionsSnapshot<DefaultTenantStoreOptions> options)
{ {
_options = options.Value; _options = options.Value;
} }

4
framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/ConfigurationTenantStoreOptions.cs → framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/DefaultTenantStoreOptions.cs

@ -1,10 +1,10 @@
namespace Volo.Abp.MultiTenancy.ConfigurationStore namespace Volo.Abp.MultiTenancy.ConfigurationStore
{ {
public class ConfigurationTenantStoreOptions public class DefaultTenantStoreOptions
{ {
public TenantInfo[] Tenants { get; set; } public TenantInfo[] Tenants { get; set; }
public ConfigurationTenantStoreOptions() public DefaultTenantStoreOptions()
{ {
Tenants = new TenantInfo[0]; Tenants = new TenantInfo[0];
} }

2
framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo/Abp/AspNetCore/MultiTenancy/AspNetCoreMultiTenancy_Tests.cs

@ -28,7 +28,7 @@ namespace Volo.Abp.AspNetCore.MultiTenancy
{ {
return base.CreateWebHostBuilder().ConfigureServices(services => return base.CreateWebHostBuilder().ConfigureServices(services =>
{ {
services.Configure<ConfigurationTenantStoreOptions>(options => services.Configure<DefaultTenantStoreOptions>(options =>
{ {
options.Tenants = new[] options.Tenants = new[]
{ {

2
framework/test/Volo.Abp.MultiTenancy.Tests/Volo/Abp/Data/MultiTenancy/MultiTenantConnectionStringResolver_Tests.cs

@ -31,7 +31,7 @@ namespace Volo.Abp.Data.MultiTenancy
options.ConnectionStrings["db1"] = "db1-default-value"; options.ConnectionStrings["db1"] = "db1-default-value";
}); });
services.Configure<ConfigurationTenantStoreOptions>(options => services.Configure<DefaultTenantStoreOptions>(options =>
{ {
options.Tenants = new[] options.Tenants = new[]
{ {

2
framework/test/Volo.Abp.MultiTenancy.Tests/Volo/Abp/MultiTenancy/CurrentTenant_Tests.cs

@ -28,7 +28,7 @@ namespace Volo.Abp.MultiTenancy
protected override void BeforeAddApplication(IServiceCollection services) protected override void BeforeAddApplication(IServiceCollection services)
{ {
services.Configure<ConfigurationTenantStoreOptions>(options => services.Configure<DefaultTenantStoreOptions>(options =>
{ {
options.Tenants = new[] options.Tenants = new[]
{ {

Loading…
Cancel
Save