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)); }
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, }); }
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}"); } }
internal static void Map(this AmountWithdrawn amountWithdrawn, Domain.ReadModels.BankAccount bankAccount) { bankAccount.Amount -= amountWithdrawn.Amount; bankAccount.Timestamp = amountWithdrawn.Timestamp; }
public void Apply(AmountWithdrawn e) { Balance -= e.Amount; }
public void Apply(AmountWithdrawn amountWithdrawn) { balance -= amountWithdrawn.Amount; }
void On(AmountWithdrawn withdrawn) { Balance.Subtract(withdrawn.Amount); }
public void When(AmountWithdrawn @event) { Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("Amount withdrawn: " + @event.Amount); }
public async Task Handle(AmountWithdrawn message, IMessageHandlerContext context) { await context.SendLocal(new Deposit(message.TransactionId, Data.DestinationAccountId, message.Amount)); }
private void Apply(AmountWithdrawn @event) { CurrentAccountBalance -= @event.Amount; }