private async Task CancelTransfer(MessageHeader header, CancelTransferCommandContent content) { var transactionId = header?.TransactionId; var transaction = content?.Transaction; var initialTransfer = new InitialTransfer(transactionId, transaction.AccountFromId, transaction.AccountToId, transaction.Amount); Event transferCanceled = initialTransfer.CancelTransfer(); await repository.AddAsync(initialTransfer); await eventProducer.ProduceAsync(transferCanceled); }
private async Task CancelTransferAsync(MessageHeader header, CancelTransferCommandContent content) { var transactionId = header?.TransactionId; var transaction = content?.Transaction; var transfer = new CheckingAccountTransfer(); Event tranferCancelled = transfer.CancelTranferAmountBetweenAccounts(transactionId, transaction.AccountFromId, transaction.AccountToId, transaction.Amount); foreach (var line in transfer.CheckingAccountLines) { await repository.AddAsync(line); } await eventProducer.ProduceAsync(tranferCancelled); }