Browse Source

Added application layer to the module template.

pull/395/head
Halil ibrahim Kalkan 8 years ago
parent
commit
988894960e
  1. 12
      templates/module/MyCompanyName.MyModuleName.sln
  2. 19
      templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName.MyModuleName.Application.Contracts.csproj
  3. 6
      templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/Localization/ApplicationContracts/en.json
  4. 39
      templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/MyModuleNameApplicationContractsModule.cs
  5. 19
      templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/MyModuleNamePermissionDefinitionProvider.cs
  6. 15
      templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/MyModuleNamePermissions.cs
  7. 16
      templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName.MyModuleName.Application.csproj
  8. 12
      templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameApplicationAutoMapperProfile.cs
  9. 30
      templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameApplicationModule.cs
  10. 14
      templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameSettingDefinitionProvider.cs
  11. 11
      templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName/MyModuleName/MyModuleNameSettings.cs
  12. 6
      templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName/MyModuleName/Localization/Domain/tr.json

12
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

19
templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName.MyModuleName.Application.Contracts.csproj

@ -0,0 +1,19 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\MyCompanyName.MyModuleName.Domain.Shared\MyCompanyName.MyModuleName.Domain.Shared.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Ddd.Application\Volo.Abp.Ddd.Application.csproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="MyCompanyName\MyModuleName\Localization\ApplicationContracts\*.json" />
</ItemGroup>
</Project>

6
templates/module/src/MyCompanyName.MyModuleName.Application.Contracts/MyCompanyName/MyModuleName/Localization/ApplicationContracts/en.json

@ -0,0 +1,6 @@
{
"culture": "en",
"texts": {
"Permission:MyModuleName": "MyModuleName"
}
}

39
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<PermissionOptions>(options =>
{
options.DefinitionProviders.Add<MyModuleNamePermissionDefinitionProvider>();
});
context.Services.Configure<VirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<MyModuleNameApplicationContractsModule>();
});
context.Services.Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Get<MyModuleNameResource>()
.AddVirtualJson("/MyCompanyName/MyModuleName/Localization/ApplicationContracts");
});
context.Services.AddAssemblyOf<MyModuleNameApplicationContractsModule>();
}
}
}

19
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<MyModuleNameResource>(name);
}
}
}

15
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
};
}
}
}

16
templates/module/src/MyCompanyName.MyModuleName.Application/MyCompanyName.MyModuleName.Application.csproj

@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj" />
<ProjectReference Include="..\MyCompanyName.MyModuleName.Application.Contracts\MyCompanyName.MyModuleName.Application.Contracts.csproj" />
<ProjectReference Include="..\MyCompanyName.MyModuleName.Domain\MyCompanyName.MyModuleName.Domain.csproj" />
</ItemGroup>
</Project>

12
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()
{
}
}
}

30
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<AbpAutoMapperOptions>(options =>
{
options.AddProfile<MyModuleNameApplicationAutoMapperProfile>(validate: true);
});
context.Services.Configure<SettingOptions>(options =>
{
options.DefinitionProviders.Add<MyModuleNameSettingDefinitionProvider>();
});
context.Services.AddAssemblyOf<MyModuleNameApplicationModule>();
}
}
}

14
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.
*/
}
}
}

11
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";
*/
}
}

6
templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName/MyModuleName/Localization/Domain/tr.json

@ -1,6 +0,0 @@
{
"culture": "tr",
"texts": {
}
}
Loading…
Cancel
Save