internal static void When(TransactionCreatedDomainEvent @event) { var stock = @event.Stock; var transaction = Transaction.Create(@event.Wallet.WalletId, stock.Ticker, stock.Quantity, stock.Amount, 10.50, @event.OperationBuy); @event.Wallet.Transactions.Add(transaction); @event.Wallet.Raise(WalletUpdatedDomainEvent.Create(@event.Wallet, transaction)); }
public void Execute(WalletUpdatedDomainEvent @event) { var wallet = @event.Wallet; wallet.Apply(@event); this._repository.Add(@event.Transaction); this._unitOfWork.Save(); }
internal static void When(WalletUpdatedDomainEvent @event) { @event.Wallet.UpdateAmount(); }