/// <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));
        }
Ejemplo n.º 2
0
        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);
        }