Esempio n. 1
0
        public void TransferFunds(int userId, int targetUserId, double amount)
        {
            var user       = _usersRepository.GetUserById(userId);
            var targetUser = _usersRepository.GetUserById(targetUserId);

            using (var session = _store.OpenSession())
            {
                var addedFunds   = new FundsAddedEvent(targetUserId, amount);
                var removedFunds = new FundsRemovedEvent(userId, amount);

                session.Events.Append(targetUser.Account, addedFunds);
                session.Events.Append(user.Account, removedFunds);
                session.SaveChanges();
            }
        }
 public void Apply(FundsRemovedEvent FundsRemovedEvent)
 {
     this.Balance = this.Balance - FundsRemovedEvent.Amount;
 }