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(); Configure(options => { options.AddMaps(validate: true); }); Configure(options => { options.Resources.Add("en"); }); Configure(options => { options.MapCodeNamespace("MailQueue", typeof(ErpMailQueueResource)); }); context.Services.AddAbpDbContext(options => { options.AddDefaultRepositories(includeAllEntities: true); }); Configure(options => { options.References.Add(MetadataReference.CreateFromFile(typeof(ErpMailQueueModule).Assembly.Location)); }); Configure(options => { //Hello is template name. options.TemplateReferences.Add("Hello", new List() { Assembly.Load("Microsoft.Extensions.Logging.Abstractions"), Assembly.Load("Microsoft.Extensions.Logging") } .Select(x => MetadataReference.CreateFromFile(x.Location)) .ToList()); }); // FileGenerationModule Configure(options => { options.FileSets.AddEmbedded(); }); context.Services.AddWkhtmltopdf($"FileGeneration{Path.DirectorySeparatorChar}Rotativa"); // FileGenerationModule } }