From 988894960e6b0d36fdb4075613bd3c3d7e053637 Mon Sep 17 00:00:00 2001 From: Halil ibrahim Kalkan Date: Wed, 11 Jul 2018 14:55:26 +0300 Subject: [PATCH] Added application layer to the module template. --- .../module/MyCompanyName.MyModuleName.sln | 12 ++++++ ....MyModuleName.Application.Contracts.csproj | 19 +++++++++ .../Localization/ApplicationContracts/en.json | 6 +++ .../MyModuleNameApplicationContractsModule.cs | 39 +++++++++++++++++++ ...yModuleNamePermissionDefinitionProvider.cs | 19 +++++++++ .../MyModuleName/MyModuleNamePermissions.cs | 15 +++++++ ...ompanyName.MyModuleName.Application.csproj | 16 ++++++++ ...yModuleNameApplicationAutoMapperProfile.cs | 12 ++++++ .../MyModuleNameApplicationModule.cs | 30 ++++++++++++++ .../MyModuleNameSettingDefinitionProvider.cs | 14 +++++++ .../MyModuleName/MyModuleNameSettings.cs | 11 ++++++ .../MyModuleName/Localization/Domain/tr.json | 6 --- 12 files changed, 193 insertions(+), 6 deletions(-) create mode 100644 templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName.MyModuleName.Application.Contracts.csproj create mode 100644 templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/Localization/ApplicationContracts/en.json create mode 100644 templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/MyModuleNameApplicationContractsModule.cs create mode 100644 templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/MyModuleNamePermissionDefinitionProvider.cs create mode 100644 templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/MyModuleNamePermissions.cs create mode 100644 templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName.MyModuleName.Application.csproj create mode 100644 templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameApplicationAutoMapperProfile.cs create mode 100644 templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameApplicationModule.cs create mode 100644 templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameSettingDefinitionProvider.cs create mode 100644 templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameSettings.cs delete mode 100644 templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName/MyModuleName/Localization/Domain/tr.json diff --git a/templates/module/MyCompanyName.MyModuleName.sln b/templates/module/MyCompanyName.MyModuleName.sln index 929eb23fbb..4e09d06264 100644 --- a/templates/module/MyCompanyName.MyModuleName.sln +++ b/templates/module/MyCompanyName.MyModuleName.sln @@ -7,6 +7,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyCompanyName.MyModuleName. EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyCompanyName.MyModuleName.Domain", "src\MyCompanyName.MyModuleName.Domain\MyCompanyName.MyModuleName.Domain.csproj", "{F2840BC7-0188-4606-9126-DADD0F5ABF7A}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyCompanyName.MyModuleName.Application.Contracts", "src\MyCompanyName.MyModuleName.Application.Contracts\MyCompanyName.MyModuleName.Application.Contracts.csproj", "{BD65D04F-08D5-40C1-8C24-77CA0BACB877}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyCompanyName.MyModuleName.Application", "src\MyCompanyName.MyModuleName.Application\MyCompanyName.MyModuleName.Application.csproj", "{78040F9E-3501-4A40-82DF-00A597710F35}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -21,6 +25,14 @@ Global {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Debug|Any CPU.Build.0 = Debug|Any CPU {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Release|Any CPU.ActiveCfg = Release|Any CPU {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Release|Any CPU.Build.0 = Release|Any CPU + {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Release|Any CPU.Build.0 = Release|Any CPU + {78040F9E-3501-4A40-82DF-00A597710F35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {78040F9E-3501-4A40-82DF-00A597710F35}.Debug|Any CPU.Build.0 = Debug|Any CPU + {78040F9E-3501-4A40-82DF-00A597710F35}.Release|Any CPU.ActiveCfg = Release|Any CPU + {78040F9E-3501-4A40-82DF-00A597710F35}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName.MyModuleName.Application.Contracts.csproj b/templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName.MyModuleName.Application.Contracts.csproj new file mode 100644 index 0000000000..a114689550 --- /dev/null +++ b/templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName.MyModuleName.Application.Contracts.csproj @@ -0,0 +1,19 @@ + + + + + + netstandard2.0 + + + + + + + + + + + + + diff --git a/templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/Localization/ApplicationContracts/en.json b/templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/Localization/ApplicationContracts/en.json new file mode 100644 index 0000000000..a4f0053f51 --- /dev/null +++ b/templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/Localization/ApplicationContracts/en.json @@ -0,0 +1,6 @@ +{ + "culture": "en", + "texts": { + "Permission:MyModuleName": "MyModuleName" + } +} \ No newline at end of file diff --git a/templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/MyModuleNameApplicationContractsModule.cs b/templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/MyModuleNameApplicationContractsModule.cs new file mode 100644 index 0000000000..5eb0a8701a --- /dev/null +++ b/templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/MyModuleNameApplicationContractsModule.cs @@ -0,0 +1,39 @@ +using Microsoft.Extensions.DependencyInjection; +using MyCompanyName.MyModuleName.Localization; +using Volo.Abp.Application; +using Volo.Abp.Authorization.Permissions; +using Volo.Abp.Localization; +using Volo.Abp.Modularity; +using Volo.Abp.VirtualFileSystem; + +namespace MyCompanyName.MyModuleName +{ + [DependsOn( + typeof(MyModuleNameDomainSharedModule), + typeof(AbpDddApplicationModule) + )] + public class MyModuleNameApplicationContractsModule : AbpModule + { + public override void ConfigureServices(ServiceConfigurationContext context) + { + context.Services.Configure(options => + { + options.DefinitionProviders.Add(); + }); + + context.Services.Configure(options => + { + options.FileSets.AddEmbedded(); + }); + + context.Services.Configure(options => + { + options.Resources + .Get() + .AddVirtualJson("/MyCompanyName/MyModuleName/Localization/ApplicationContracts"); + }); + + context.Services.AddAssemblyOf(); + } + } +} diff --git a/templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/MyModuleNamePermissionDefinitionProvider.cs b/templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/MyModuleNamePermissionDefinitionProvider.cs new file mode 100644 index 0000000000..2dd3fa7822 --- /dev/null +++ b/templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/MyModuleNamePermissionDefinitionProvider.cs @@ -0,0 +1,19 @@ +using MyCompanyName.MyModuleName.Localization; +using Volo.Abp.Authorization.Permissions; +using Volo.Abp.Localization; + +namespace MyCompanyName.MyModuleName +{ + public class MyModuleNamePermissionDefinitionProvider : PermissionDefinitionProvider + { + public override void Define(IPermissionDefinitionContext context) + { + //var moduleGroup = context.AddGroup(MyModuleNamePermissions.GroupName, L("Permission:MyModuleName")); + } + + private static LocalizableString L(string name) + { + return LocalizableString.Create(name); + } + } +} \ No newline at end of file diff --git a/templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/MyModuleNamePermissions.cs b/templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/MyModuleNamePermissions.cs new file mode 100644 index 0000000000..058392033f --- /dev/null +++ b/templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/MyModuleNamePermissions.cs @@ -0,0 +1,15 @@ +namespace MyCompanyName.MyModuleName +{ + public class MyModuleNamePermissions + { + public const string GroupName = "MyModuleName"; + + public static string[] GetAll() + { + return new[] + { + GroupName + }; + } + } +} \ No newline at end of file diff --git a/templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName.MyModuleName.Application.csproj b/templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName.MyModuleName.Application.csproj new file mode 100644 index 0000000000..a35899725e --- /dev/null +++ b/templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName.MyModuleName.Application.csproj @@ -0,0 +1,16 @@ + + + + + + netstandard2.0 + + + + + + + + + + diff --git a/templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameApplicationAutoMapperProfile.cs b/templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameApplicationAutoMapperProfile.cs new file mode 100644 index 0000000000..a93cbc9d56 --- /dev/null +++ b/templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameApplicationAutoMapperProfile.cs @@ -0,0 +1,12 @@ +using AutoMapper; + +namespace MyCompanyName.MyModuleName +{ + public class MyModuleNameApplicationAutoMapperProfile : Profile + { + public MyModuleNameApplicationAutoMapperProfile() + { + + } + } +} \ No newline at end of file diff --git a/templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameApplicationModule.cs b/templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameApplicationModule.cs new file mode 100644 index 0000000000..aed0ed84d3 --- /dev/null +++ b/templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameApplicationModule.cs @@ -0,0 +1,30 @@ +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.AutoMapper; +using Volo.Abp.Modularity; +using Volo.Abp.Settings; + +namespace MyCompanyName.MyModuleName +{ + [DependsOn( + typeof(MyModuleNameDomainModule), + typeof(MyModuleNameApplicationContractsModule), + typeof(AbpAutoMapperModule) + )] + public class MyModuleNameApplicationModule : AbpModule + { + public override void ConfigureServices(ServiceConfigurationContext context) + { + context.Services.Configure(options => + { + options.AddProfile(validate: true); + }); + + context.Services.Configure(options => + { + options.DefinitionProviders.Add(); + }); + + context.Services.AddAssemblyOf(); + } + } +} diff --git a/templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameSettingDefinitionProvider.cs b/templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameSettingDefinitionProvider.cs new file mode 100644 index 0000000000..2d0589dbfb --- /dev/null +++ b/templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameSettingDefinitionProvider.cs @@ -0,0 +1,14 @@ +using Volo.Abp.Settings; + +namespace MyCompanyName.MyModuleName +{ + public class MyModuleNameSettingDefinitionProvider : SettingDefinitionProvider + { + public override void Define(ISettingDefinitionContext context) + { + /* Define module settings here. + * Use names from MyModuleNameSettings class. + */ + } + } +} \ No newline at end of file diff --git a/templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameSettings.cs b/templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameSettings.cs new file mode 100644 index 0000000000..17fcd94825 --- /dev/null +++ b/templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameSettings.cs @@ -0,0 +1,11 @@ +namespace MyCompanyName.MyModuleName +{ + public static class MyModuleNameSettings + { + public const string GroupName = "MyModuleName"; + + /* Add constants for setting names. Example: + * public const string MySettingName = GroupName + ".MySettingName"; + */ + } +} \ No newline at end of file diff --git a/templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName/MyModuleName/Localization/Domain/tr.json b/templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName/MyModuleName/Localization/Domain/tr.json deleted file mode 100644 index 6c8cd12915..0000000000 --- a/templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName/MyModuleName/Localization/Domain/tr.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "culture": "tr", - "texts": { - - } -} \ No newline at end of file