erp-platform/api/modules/Kurs.Sender/KursSenderModule.cs
Sedat ÖZTÜRK e1a9562b22 init project
2025-05-06 09:45:49 +03:00

50 lines
1.9 KiB
C#

using Kurs.Sender.Localization;
using Kurs.Sender.Mail;
using Kurs.Sender.Mail.AmazonSes;
using Kurs.Sender.Rocket;
using Kurs.Sender.Sms;
using Kurs.Sender.Sms.PostaGuvercini;
using Kurs.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 Kurs.Sender;
[DependsOn(
typeof(AbpEmailingModule),
typeof(AbpSmsModule))]
public class KursSenderModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpLocalizationOptions>(options =>
{
options.Resources.Add<KursSenderResource>("en");
});
Configure<AbpBackgroundJobOptions>(options =>
{
options.AddJob<KursBackgroundEmailSendingJob>();
});
//Register a factory method that resolves from IServiceProvider
context.Services.AddScoped<IKursEmailSender>(sp => sp.GetRequiredService<AmazonSesEmailSender>());
context.Services.AddScoped<IKursSmsSender>(sp => sp.GetRequiredService<PostaGuverciniSmsSender>());
context.Services.AddScoped<IKursRocketSender>(sp => sp.GetRequiredService<RocketSender>());
context.Services.AddScoped<IKursWhatsAppSender>(sp => sp.GetRequiredService<KursWhatsAppSender>());
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>());
}
}