Example #1
0
        public async Task Handle(TEvent message)
        {
            Saga saga = loaders.Select(l => l.Load(message)).Where(l => l.StartedAt > 0).OrderBy(l => l.StartedAt).LastOrDefault();

            if (saga == null)
            {
                return;
            }

            saga.As <IContinueSaga <TEvent> >().When(message);

            foreach (var command in saga.SentCommands)
            {
                await commandBus.SendCommandAsync(command);
            }
        }