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); }