Beispiel #1
0
        public static Task SendToSelf(this IMessageHandlerContext context, Messages.ICommand command)
        {
            var container  = context.Extensions.Get <IContainer>();
            var dispatcher = container.Resolve <IMessageDispatcher>();

            var message = new FullMessage
            {
                Headers = context.MessageHeaders.Where(x => x.Key != $"{Defaults.PrefixHeader}.{Defaults.MessageIdHeader}").ToDictionary(kv => kv.Key, kv => kv.Value),
                Message = command
            };

            Task.Run(() => dispatcher.SendLocal(message));
            return(Task.CompletedTask);
        }
 public CommandSaga OnAbort(Messages.ICommand command)
 {
     _abortCommands.Add(command);
     return(this);
 }
 public CommandSaga Command(Messages.ICommand command)
 {
     _commands.Add(command);
     return(this);
 }