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