50 lines
1.9 KiB
C#
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>());
|
|
|
|
}
|
|
}
|