Exemple #1
0
    public async Task Publish <TEvent>(TEvent @event, CancellationToken cancellationToken = default)
        where TEvent : IEvent
    {
        await mediator.Publish(@event, cancellationToken);

        if (@event is IExternalEvent externalEvent)
        {
            await externalEventProducer.Publish(externalEvent, cancellationToken);
        }
    }
Exemple #2
0
        public async Task Publish(params IEvent[] events)
        {
            foreach (var @event in events)
            {
                await mediator.Publish(@event);

                if (@event is IExternalEvent externalEvent)
                {
                    await producer.Publish(externalEvent);
                }
            }
        }
Exemple #3
0
        public async Task Publish(CancellationToken cancellationToken, params IEvent[] events)
        {
            foreach (var @event in events)
            {
                await mediator.Publish(@event, cancellationToken);

                if (@event is IExternalEvent externalEvent)
                {
                    await externalEventProducer.Publish(externalEvent, cancellationToken);
                }
            }
        }