From 16a62929e920243d9eeab64acf0639f1ad44fae2 Mon Sep 17 00:00:00 2001 From: Halil ibrahim Kalkan Date: Sat, 18 May 2019 23:12:05 +0300 Subject: [PATCH] Created Domain.Shared --- templates/mvc/MyCompanyName.MyProjectName.sln | 9 +++- .../MyProjectName/MyProjectNameResource.cs | 0 .../Localization/MyProjectName/en.json | 0 .../Localization/MyProjectName/pt-BR.json | 0 .../Localization/MyProjectName/tr.json | 0 .../Localization/MyProjectName/zh-Hans.json | 0 .../MultiTenancy/MultiTenancyConsts.cs | 7 ++++ ...anyName.MyProjectName.Domain.Shared.csproj | 24 +++++++++++ .../MyProjectNameDomainErrorCodes.cs | 7 ++++ .../MyProjectNameDomainSharedModule.cs | 41 +++++++++++++++++++ .../MyCompanyName.MyProjectName.Domain.csproj | 5 +-- .../MyProjectNameConsts.cs | 2 - .../MyProjectNameDomainModule.cs | 24 +++-------- 13 files changed, 94 insertions(+), 25 deletions(-) rename templates/mvc/src/{MyCompanyName.MyProjectName.Domain => MyCompanyName.MyProjectName.Domain.Shared}/Localization/MyProjectName/MyProjectNameResource.cs (100%) rename templates/mvc/src/{MyCompanyName.MyProjectName.Domain => MyCompanyName.MyProjectName.Domain.Shared}/Localization/MyProjectName/en.json (100%) rename templates/mvc/src/{MyCompanyName.MyProjectName.Domain => MyCompanyName.MyProjectName.Domain.Shared}/Localization/MyProjectName/pt-BR.json (100%) rename templates/mvc/src/{MyCompanyName.MyProjectName.Domain => MyCompanyName.MyProjectName.Domain.Shared}/Localization/MyProjectName/tr.json (100%) rename templates/mvc/src/{MyCompanyName.MyProjectName.Domain => MyCompanyName.MyProjectName.Domain.Shared}/Localization/MyProjectName/zh-Hans.json (100%) create mode 100644 templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs create mode 100644 templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj create mode 100644 templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/MyProjectNameDomainErrorCodes.cs create mode 100644 templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/MyProjectNameDomainSharedModule.cs diff --git a/templates/mvc/MyCompanyName.MyProjectName.sln b/templates/mvc/MyCompanyName.MyProjectName.sln index 0c616dbc3b..371463b0a7 100644 --- a/templates/mvc/MyCompanyName.MyProjectName.sln +++ b/templates/mvc/MyCompanyName.MyProjectName.sln @@ -21,7 +21,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MyCompanyName.MyProjectName EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MyCompanyName.MyProjectName.MongoDB", "src\MyCompanyName.MyProjectName.MongoDB\MyCompanyName.MyProjectName.MongoDB.csproj", "{E3444355-D47E-431E-BDD0-DD3A7113B2AE}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations", "src\MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations\MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations.csproj", "{0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations", "src\MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations\MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations.csproj", "{0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyCompanyName.MyProjectName.Domain.Shared", "src\MyCompanyName.MyProjectName.Domain.Shared\MyCompanyName.MyProjectName.Domain.Shared.csproj", "{42F719ED-8413-4895-B5B4-5AB56079BC66}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -61,6 +63,10 @@ Global {0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}.Debug|Any CPU.Build.0 = Debug|Any CPU {0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}.Release|Any CPU.ActiveCfg = Release|Any CPU {0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}.Release|Any CPU.Build.0 = Release|Any CPU + {42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.Build.0 = Debug|Any CPU + {42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.ActiveCfg = Release|Any CPU + {42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -74,6 +80,7 @@ Global {5F1B28C6-8D0C-4155-92D0-252F7EA5F674} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} {E3444355-D47E-431E-BDD0-DD3A7113B2AE} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} {0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} + {42F719ED-8413-4895-B5B4-5AB56079BC66} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F} diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Domain/Localization/MyProjectName/MyProjectNameResource.cs b/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/MyProjectNameResource.cs similarity index 100% rename from templates/mvc/src/MyCompanyName.MyProjectName.Domain/Localization/MyProjectName/MyProjectNameResource.cs rename to templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/MyProjectNameResource.cs diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Domain/Localization/MyProjectName/en.json b/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/en.json similarity index 100% rename from templates/mvc/src/MyCompanyName.MyProjectName.Domain/Localization/MyProjectName/en.json rename to templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/en.json diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Domain/Localization/MyProjectName/pt-BR.json b/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/pt-BR.json similarity index 100% rename from templates/mvc/src/MyCompanyName.MyProjectName.Domain/Localization/MyProjectName/pt-BR.json rename to templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/pt-BR.json diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Domain/Localization/MyProjectName/tr.json b/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/tr.json similarity index 100% rename from templates/mvc/src/MyCompanyName.MyProjectName.Domain/Localization/MyProjectName/tr.json rename to templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/tr.json diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Domain/Localization/MyProjectName/zh-Hans.json b/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/zh-Hans.json similarity index 100% rename from templates/mvc/src/MyCompanyName.MyProjectName.Domain/Localization/MyProjectName/zh-Hans.json rename to templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/zh-Hans.json diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs b/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs new file mode 100644 index 0000000000..11f7bf6911 --- /dev/null +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs @@ -0,0 +1,7 @@ +namespace MyCompanyName.MyProjectName.MultiTenancy +{ + public static class MultiTenancyConsts + { + public const bool IsMultiTenancyEnabled = true; + } +} diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj b/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj new file mode 100644 index 0000000000..975082077b --- /dev/null +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj @@ -0,0 +1,24 @@ + + + + + + netcoreapp2.2 + MyCompanyName.MyProjectName + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/MyProjectNameDomainErrorCodes.cs b/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/MyProjectNameDomainErrorCodes.cs new file mode 100644 index 0000000000..55a2ed72bc --- /dev/null +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/MyProjectNameDomainErrorCodes.cs @@ -0,0 +1,7 @@ +namespace MyCompanyName.MyProjectName +{ + public static class MyProjectNameDomainErrorCodes + { + //Add your business exception error codes here... + } +} diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/MyProjectNameDomainSharedModule.cs b/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/MyProjectNameDomainSharedModule.cs new file mode 100644 index 0000000000..d9969be057 --- /dev/null +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/MyProjectNameDomainSharedModule.cs @@ -0,0 +1,41 @@ +using MyCompanyName.MyProjectName.Localization.MyProjectName; +using Volo.Abp.AuditLogging; +using Volo.Abp.BackgroundJobs; +using Volo.Abp.FeatureManagement; +using Volo.Abp.Identity; +using Volo.Abp.Localization; +using Volo.Abp.Localization.Resources.AbpValidation; +using Volo.Abp.Modularity; +using Volo.Abp.SettingManagement; +using Volo.Abp.TenantManagement; +using Volo.Abp.VirtualFileSystem; + +namespace MyCompanyName.MyProjectName +{ + [DependsOn( + typeof(AbpAuditLoggingDomainSharedModule), + typeof(BackgroundJobsDomainSharedModule), + typeof(AbpFeatureManagementDomainSharedModule), + typeof(AbpIdentityDomainSharedModule), + typeof(AbpSettingManagementDomainSharedModule), + typeof(AbpTenantManagementDomainSharedModule) + )] + public class MyProjectNameDomainSharedModule : AbpModule + { + public override void ConfigureServices(ServiceConfigurationContext context) + { + Configure(options => + { + options.FileSets.AddEmbedded("MyCompanyName.MyProjectName"); + }); + + Configure(options => + { + options.Resources + .Add("en") + .AddBaseTypes(typeof(AbpValidationResource)) + .AddVirtualJson("/Localization/MyProjectName"); + }); + } + } +} diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyCompanyName.MyProjectName.Domain.csproj b/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyCompanyName.MyProjectName.Domain.csproj index d86ac81e86..5c9ef9848f 100644 --- a/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyCompanyName.MyProjectName.Domain.csproj +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyCompanyName.MyProjectName.Domain.csproj @@ -15,11 +15,8 @@ + - - - - diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyProjectNameConsts.cs b/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyProjectNameConsts.cs index 9082f904ce..d939cfca9f 100644 --- a/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyProjectNameConsts.cs +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyProjectNameConsts.cs @@ -5,7 +5,5 @@ public const string DbTablePrefix = "App"; public const string DbSchema = null; - - public const bool IsMultiTenancyEnabled = true; } } diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyProjectNameDomainModule.cs b/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyProjectNameDomainModule.cs index 780b6ee10d..79dff6a651 100644 --- a/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyProjectNameDomainModule.cs +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyProjectNameDomainModule.cs @@ -1,24 +1,22 @@ using Microsoft.Extensions.DependencyInjection; -using MyCompanyName.MyProjectName.Localization.MyProjectName; +using MyCompanyName.MyProjectName.MultiTenancy; using Volo.Abp; using Volo.Abp.AuditLogging; using Volo.Abp.BackgroundJobs; using Volo.Abp.Data; using Volo.Abp.FeatureManagement; using Volo.Abp.Identity; -using Volo.Abp.Localization; -using Volo.Abp.Localization.Resources.AbpValidation; using Volo.Abp.Modularity; using Volo.Abp.MultiTenancy; using Volo.Abp.PermissionManagement.Identity; using Volo.Abp.SettingManagement; using Volo.Abp.TenantManagement; using Volo.Abp.Threading; -using Volo.Abp.VirtualFileSystem; namespace MyCompanyName.MyProjectName { [DependsOn( + typeof(MyProjectNameDomainSharedModule), typeof(AbpAuditLoggingDomainModule), typeof(BackgroundJobsDomainModule), typeof(AbpFeatureManagementDomainModule), @@ -31,22 +29,9 @@ namespace MyCompanyName.MyProjectName { public override void ConfigureServices(ServiceConfigurationContext context) { - Configure(options => - { - options.FileSets.AddEmbedded("MyCompanyName.MyProjectName"); - }); - - Configure(options => - { - options.Resources - .Add("en") - .AddBaseTypes(typeof(AbpValidationResource)) - .AddVirtualJson("/Localization/MyProjectName"); - }); - Configure(options => { - options.IsEnabled = MyProjectNameConsts.IsMultiTenancyEnabled; + options.IsEnabled = MultiTenancyConsts.IsMultiTenancyEnabled; }); } @@ -57,6 +42,9 @@ namespace MyCompanyName.MyProjectName private void SeedDatabase(ApplicationInitializationContext context) { + /* Seeding in the application startup can be a problem in a clustered environment. + * See https://github.com/abpframework/abp/issues/1123 + */ using (var scope = context.ServiceProvider.CreateScope()) { AsyncHelper.RunSync(async () =>