using System.Collections.Concurrent; namespace AipGateway.API.Domain.IServices.IUtilities { public interface IHasDomainEventEntity { IProducerConsumerCollection DomainEvents { get; } } public interface IDomainEvent { public bool IsPublished { get; } public DateTimeOffset DateOccurred { get; } } public interface IDomainEventDispatcher { Task Dispatch(IDomainEvent devent); } }