/// <summary> /// Creates <see cref="IntegrationEventExecutionResult"/>. /// </summary> /// <param name="context">Execution context.</param> /// <param name="setup">Configures integration event.</param> /// <typeparam name="TIntegrationEvent">Type of integration event.</typeparam> /// <returns>Execution result.</returns> protected IExecutionResult IntegrationEvent <TIntegrationEvent>(AggregateExecutionContext context, Action <TIntegrationEvent> setup) where TIntegrationEvent : IntegrationEvent, new() { var @event = context.CreateIntegrationEvent <TIntegrationEvent>(); setup(@event); return(new IntegrationEventExecutionResult(@event)); }
public static TIntegrationEvent IntegrationEvent <TIntegrationEvent>(Command command, Action <TIntegrationEvent> setup) where TIntegrationEvent : IntegrationEvent, new() { var context = new AggregateExecutionContext(command); var @event = context.CreateIntegrationEvent <TIntegrationEvent>(); setup(@event); return(@event); }