83 lines
2.6 KiB
C#
83 lines
2.6 KiB
C#
using System.Reflection;
|
|
using Erp.Sender;
|
|
using Erp.MailQueue.Domain.Shared;
|
|
using Erp.MailQueue.EntityFrameworkCore;
|
|
using Microsoft.CodeAnalysis;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Volo.Abp.Application;
|
|
using Volo.Abp.Authorization;
|
|
using Volo.Abp.AutoMapper;
|
|
using Volo.Abp.Domain;
|
|
using Volo.Abp.EntityFrameworkCore;
|
|
using Volo.Abp.Localization;
|
|
using Volo.Abp.Localization.ExceptionHandling;
|
|
using Volo.Abp.Modularity;
|
|
using Volo.Abp.TextTemplating.Razor;
|
|
using Volo.Abp.VirtualFileSystem;
|
|
using Wkhtmltopdf.NetCore;
|
|
|
|
namespace Erp.MailQueue;
|
|
|
|
[DependsOn(
|
|
typeof(AbpDddDomainModule),
|
|
typeof(AbpDddApplicationModule),
|
|
typeof(AbpDddApplicationContractsModule),
|
|
typeof(AbpAutoMapperModule),
|
|
typeof(AbpAuthorizationModule),
|
|
typeof(AbpEntityFrameworkCoreModule),
|
|
typeof(AbpTextTemplatingRazorModule),
|
|
typeof(ErpSenderModule)
|
|
)]
|
|
public class ErpMailQueueModule : AbpModule
|
|
{
|
|
public override void ConfigureServices(ServiceConfigurationContext context)
|
|
{
|
|
context.Services.AddAutoMapperObjectMapper<ErpMailQueueModule>();
|
|
Configure<AbpAutoMapperOptions>(options =>
|
|
{
|
|
options.AddMaps<ErpMailQueueModule>(validate: true);
|
|
});
|
|
|
|
Configure<AbpLocalizationOptions>(options =>
|
|
{
|
|
options.Resources.Add<ErpMailQueueResource>("en");
|
|
});
|
|
|
|
Configure<AbpExceptionLocalizationOptions>(options =>
|
|
{
|
|
options.MapCodeNamespace("MailQueue", typeof(ErpMailQueueResource));
|
|
});
|
|
|
|
context.Services.AddAbpDbContext<MailQueueDbContext>(options =>
|
|
{
|
|
options.AddDefaultRepositories(includeAllEntities: true);
|
|
});
|
|
|
|
Configure<AbpRazorTemplateCSharpCompilerOptions>(options =>
|
|
{
|
|
options.References.Add(MetadataReference.CreateFromFile(typeof(ErpMailQueueModule).Assembly.Location));
|
|
});
|
|
|
|
Configure<AbpCompiledViewProviderOptions>(options =>
|
|
{
|
|
//Hello is template name.
|
|
options.TemplateReferences.Add("Hello", new List<Assembly>()
|
|
{
|
|
Assembly.Load("Microsoft.Extensions.Logging.Abstractions"),
|
|
Assembly.Load("Microsoft.Extensions.Logging")
|
|
}
|
|
.Select(x => MetadataReference.CreateFromFile(x.Location))
|
|
.ToList());
|
|
});
|
|
|
|
// FileGenerationModule
|
|
Configure<AbpVirtualFileSystemOptions>(options =>
|
|
{
|
|
options.FileSets.AddEmbedded<ErpMailQueueModule>();
|
|
});
|
|
|
|
context.Services.AddWkhtmltopdf($"FileGeneration{Path.DirectorySeparatorChar}Rotativa");
|
|
// FileGenerationModule
|
|
}
|
|
}
|
|
|