27 lines
1.1 KiB
C#
27 lines
1.1 KiB
C#
using LiteCharms.Abstractions;
|
|
using LiteCharms.Infrastructure.ServiceBus;
|
|
using LiteCharms.Infrastructure.ServiceBus.Exchanges;
|
|
|
|
namespace LiteCharms.Extensions;
|
|
|
|
public static class ServiceBus
|
|
{
|
|
public static IServiceCollection AddGeneralServiceBus(this IServiceCollection services) => services
|
|
.AddTransient<GeneralServiceBus>()
|
|
.AddHostedService<GeneralExchange>()
|
|
.AddKeyedTransient<IEventBus, GeneralServiceBus>(Constants.GeneralServiceBus)
|
|
.AddMemoryCache();
|
|
|
|
public static IServiceCollection AddEmailServiceBus(this IServiceCollection services) => services
|
|
.AddTransient<EmailServiceBus>()
|
|
.AddHostedService<EmailExchange>()
|
|
.AddKeyedTransient<IEventBus, EmailServiceBus>(Constants.EmailServiceBus)
|
|
.AddMemoryCache();
|
|
|
|
public static IServiceCollection AddSalesServiceBus(this IServiceCollection services) => services
|
|
.AddTransient<SalesServiceBus>()
|
|
.AddHostedService<SalesExchange>()
|
|
.AddKeyedTransient<IEventBus, SalesServiceBus>(Constants.SalesServiceBus)
|
|
.AddMemoryCache();
|
|
}
|