예제 #1
0
        public async Task Handle(AmountDeposited message, IMessageHandlerContext context)
        {
            var account = readModelContext.AccountsWithBalance.Single(account => account.AccountId == message.AccountId);

            account.Balance += message.Amount;
            await readModelContext.SaveChangesAsync();
        }
예제 #2
0
        public async Task Handle(AmountDeposited message, IMessageHandlerContext context)
        {
            Data.TransferCompleted = true;

            await context.Publish(new TransactionSuccessful()
            {
                TransactionId = Data.TransactionId
            });
        }
예제 #3
0
        private void Apply(AmountDeposited @event)
        {
            // if we didnt open the account with a deposit - our first deposit is our starting balance
            if (StartingBalance == 0)
            {
                StartingBalance = @event.Amount;
            }

            CurrentAccountBalance += @event.Amount;
        }
 private void Apply(AmountDeposited amountDeposited)
 {
     Amount += amountDeposited.Amount;
     transactions.Add(new BankTransaction(
                          amountDeposited.BankTransactionId,
                          amountDeposited.BankAccountId,
                          amountDeposited.Amount,
                          amountDeposited.Sender,
                          AccountNo,
                          amountDeposited.Timestamp));
 }
예제 #5
0
 internal static Domain.ReadModels.BankTransaction ToReadModel(this AmountDeposited amountDeposited, string reciever)
 {
     return(new Domain.ReadModels.BankTransaction
     {
         Id = string.Empty,
         Amount = amountDeposited.Amount,
         BankAccountId = amountDeposited.BankAccountId,
         Reciever = reciever,
         Sender = amountDeposited.Sender,
         Timestamp = amountDeposited.Timestamp,
     });
 }
예제 #6
0
 public void Deposit(decimal amount)
 {
     if (State.CanDeposit(amount))
     {
         var amountDeposited = new AmountDeposited()
         {
             Amount    = amount,
             AccountId = GetAccountId()
         };
         Emit(amountDeposited);
     }
     else
     {
         throw new InvalidOperationException($"unable to deposit {amount}");
     }
 }
예제 #7
0
 public void Apply(AmountDeposited e)
 {
     Balance += e.Amount;
 }
 public void When(AmountDeposited @event)
 {
     EvilStatisticsReadModel.AmountDepositedCount++;
 }
예제 #9
0
 public void Apply(AmountDeposited amountDeposited)
 {
     balance += amountDeposited.Amount;
 }
예제 #10
0
 void On(AmountDeposited deposit)
 {
     Balance.Add(deposit.Amount);
 }
 public void When(AmountDeposited @event)
 {
     Console.ForegroundColor = ConsoleColor.White;
     Console.WriteLine("Amount deposited: " + @event.Amount);
 }
예제 #12
0
 internal static void Map(this AmountDeposited amountDeposited, Domain.ReadModels.BankAccount bankAccount)
 {
     bankAccount.Amount   += amountDeposited.Amount;
     bankAccount.Timestamp = amountDeposited.Timestamp;
 }
예제 #13
0
        public async Task Handle(AmountDeposited message, IMessageHandlerContext context)
        {
            Data.TransferCompleted = true;

            await Task.CompletedTask;
        }