Package Description
$ dotnet add package EXCSLA.Shared.Core.Abstractions.DomainEventDispatcherDomain event dispatcher abstraction for publishing domain events in the EXCSLA framework.
Provides an abstraction for dispatching domain events to registered handlers throughout your application.
dotnet add package EXCSLA.Shared.Core.Abstractions.DomainEventDispatcher
public class OrderCreatedEvent : BaseDomainEvent
{
public OrderNumber OrderNumber { get; set; }
public DateTime CreatedAt { get; set; }
}
// Usage
public class CreateOrderHandler : ICommandHandler<CreateOrderCommand>
{
private readonly IDomainEventDispatcher _dispatcher;
public async Task Handle(CreateOrderCommand command)
{
var order = new Order(command.OrderNumber);
// Dispatch event to handlers
await _dispatcher.DispatchAsync(
new OrderCreatedEvent
{
OrderNumber = order.OrderNumber,
CreatedAt = DateTime.UtcNow
});
}
}
See LICENSE file in repository
For issues and questions, visit the GitHub repository