Exemplo n.º 1
0
        public async Task Handle(AmountWithdrawn message, IMessageHandlerContext context)
        {
            var account = readModelContext.AccountsWithBalance.Single(account => account.AccountId == message.AccountId);

            account.Balance -= message.Amount;
            await readModelContext.SaveChangesAsync();
        }
 private void Apply(AmountWithdrawn amountWithdrawn)
 {
     Amount -= amountWithdrawn.Amount;
     transactions.Add(new BankTransaction(
                          amountWithdrawn.BankTransactionId,
                          amountWithdrawn.BankAccountId,
                          -amountWithdrawn.Amount,
                          AccountNo,
                          amountWithdrawn.Reciever,
                          amountWithdrawn.Timestamp));
 }
Exemplo n.º 3
0
 internal static Domain.ReadModels.BankTransaction ToReadModel(this AmountWithdrawn amountWithdrawn, string sender)
 {
     return(new Domain.ReadModels.BankTransaction
     {
         Id = string.Empty,
         Amount = -amountWithdrawn.Amount,
         BankAccountId = amountWithdrawn.BankAccountId,
         Reciever = amountWithdrawn.Reciever,
         Sender = sender,
         Timestamp = amountWithdrawn.Timestamp,
     });
 }
Exemplo n.º 4
0
        public void Withdraw(decimal amount)
        {
            if (State.CanWithdraw(amount))
            {
                var amountWithdrawn = new AmountWithdrawn()
                {
                    Amount    = amount,
                    AccountId = GetAccountId()
                };

                Emit(amountWithdrawn);
            }
            else
            {
                throw new InvalidOperationException($"unable to withdraw {amount}");
            }
        }
Exemplo n.º 5
0
 internal static void Map(this AmountWithdrawn amountWithdrawn, Domain.ReadModels.BankAccount bankAccount)
 {
     bankAccount.Amount   -= amountWithdrawn.Amount;
     bankAccount.Timestamp = amountWithdrawn.Timestamp;
 }
Exemplo n.º 6
0
 public void Apply(AmountWithdrawn e)
 {
     Balance -= e.Amount;
 }
Exemplo n.º 7
0
 public void Apply(AmountWithdrawn amountWithdrawn)
 {
     balance -= amountWithdrawn.Amount;
 }
Exemplo n.º 8
0
 void On(AmountWithdrawn withdrawn)
 {
     Balance.Subtract(withdrawn.Amount);
 }
 public void When(AmountWithdrawn @event)
 {
     Console.ForegroundColor = ConsoleColor.White;
     Console.WriteLine("Amount withdrawn: " + @event.Amount);
 }
Exemplo n.º 10
0
 public async Task Handle(AmountWithdrawn message, IMessageHandlerContext context)
 {
     await context.SendLocal(new Deposit(message.TransactionId, Data.DestinationAccountId, message.Amount));
 }
Exemplo n.º 11
0
 private void Apply(AmountWithdrawn @event)
 {
     CurrentAccountBalance -= @event.Amount;
 }