public async Task Handle(CompleteMoneyTransferCommand message, IMessageHandlerContext context) { log.Info($"CompleteMoneyTransferCommand, TransferId = {message.TransferId}"); var nhibernateSession = context.SynchronizedStorageSession.Session(); var transferAggregate = nhibernateSession.Get <Transfer>(message.TransferId); transferAggregate.Complete(); transferAggregate.ChangeUpdateAtUtc(); nhibernateSession.Save(transferAggregate); var moneyTransferCompletedEvent = new MoneyTransferCompletedEvent ( message.TransferId ); await context.Publish(moneyTransferCompletedEvent); }
public async Task Handle(CompleteMoneyTransferCommand message, IMessageHandlerContext context) { log.Info($"CompleteMoneyTransferCommand, TransferId = {message.TransferId}"); var nhibernateSession = context.SynchronizedStorageSession.Session(); var transferAggregate = nhibernateSession.Get <Transfer>(message.TransferId); transferAggregate.Complete(); transferAggregate.ChangeUpdateAtUtc(); nhibernateSession.Save(transferAggregate); var moneyTransferCompletedEvent = new MoneyTransferCompletedEvent ( message.TransferId ); await context.Publish(moneyTransferCompletedEvent); var queryTransferEvent = new QueryTransferEvent( transferAggregate.TransferId, transferAggregate.SourceAccountId.Id.ToString(), transferAggregate.DestinationAccountId.Id.ToString(), transferAggregate.Amount.Amount ); await context.Publish(queryTransferEvent); }
public void Apply(MoneyTransferCompletedEvent aggregateEvent) { Complete(); }