public async Task Handle(AccountBalanceUpdatedIntegrationEvent @event)
        {
            var account = await dbContext.Accounts.FirstOrDefaultAsync(x => x.Id == @event.AccountId);

            account.Balance = @event.Balance;

            await dbContext.SaveChangesAsync();
        }
        public async Task Handle(AccountCreatedIntegrationEvent @event)
        {
            logger.LogInformation($"Processed {@event.GetType().Name}");

            await dbContext.Accounts.AddAsync(new Entities.Account {
                Id = @event.AccountId, Balance = @event.Balance
            });

            await dbContext.SaveChangesAsync();
        }
        public async Task Handle(PaymentCompletedIntegrationEvent @event)
        {
            var account = await dbContext.Accounts.Include(x => x.Transactions).FirstOrDefaultAsync(x => x.Id == @event.AccountId);

            var trans = new Entities.Transaction {
                Amount = @event.Amount, DateTime = @event.PaymentTime
            };

            account.Transactions.Add(trans);

            await dbContext.SaveChangesAsync();
        }