sozsoft-platform/api/modules/Sozsoft.Sender/SozsoftSenderModule.cs

52 lines
1.9 KiB
C#
Raw Normal View History

2026-02-24 20:44:16 +00:00
using Sozsoft.Sender.Localization;
using Sozsoft.Sender.Mail;
using Sozsoft.Sender.Mail.AmazonSes;
using Sozsoft.Sender.Rocket;
using Sozsoft.Sender.Sms;
using Sozsoft.Sender.Sms.PostaGuvercini;
using Sozsoft.Sender.WhatsApp;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.BackgroundJobs;
using Volo.Abp.Emailing;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
using Volo.Abp.Sms;
namespace Sozsoft.Sender;
[DependsOn(
typeof(AbpEmailingModule),
typeof(AbpSmsModule))]
public class ErpSenderModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpLocalizationOptions>(options =>
{
options.Resources.Add<ErpSenderResource>("en");
});
Configure<AbpBackgroundJobOptions>(options =>
{
options.AddJob<ErpBackgroundEmailSendingJob>();
});
//Register a factory method that resolves from IServiceProvider
context.Services.AddScoped<ISozsoftEmailSender>(sp => sp.GetRequiredService<AmazonSesEmailSender>());
context.Services.AddScoped<ISozsoftSmsSender>(sp => sp.GetRequiredService<PostaGuverciniSmsSender>());
context.Services.AddScoped<ISozsoftRocketSender>(sp => sp.GetRequiredService<RocketSender>());
context.Services.AddScoped<ISozsoftWhatsAppSender>(sp => sp.GetRequiredService<SozsoftWhatsAppSender>());
context.Services.AddHttpClient<PostaGuverciniHttpClient>();
context.Services.AddScoped<IPostaGuverciniHttpClient>(sp => sp.GetRequiredService<PostaGuverciniHttpClient>());
context.Services.AddHttpClient<RocketHttpClient>();
context.Services.AddScoped<IRocketHttpClient>(sp => sp.GetRequiredService<RocketHttpClient>());
context.Services.AddHttpClient<WhatsAppHttpClient>();
context.Services.AddScoped<IWhatsAppHttpClient>(sp => sp.GetRequiredService<WhatsAppHttpClient>());
}
}