コード例 #1
0
        public async Task CreateAsync(Transaction transaction)
        {
            await context.Transactions.AddAsync(transaction);

            await context.SaveChangesAsync();

            TransactionCreatedEventArgs args = new TransactionCreatedEventArgs
            {
                Transaction = transaction
            };

            TransactionCreated?.Invoke(this, args);
        }
コード例 #2
0
        public async Task UpdateAccountAmountAsync(object sender, TransactionCreatedEventArgs e)
        {
            var account = await context.Accounts.FirstOrDefaultAsync(account =>
                                                                     account.Id == e.Transaction.AccountId &&
                                                                     !account.IsDeleted);

            if (e.Transaction.TransactionType == TransactionType.Expense)
            {
                account.Amount -= e.Transaction.Amount;
            }
            else
            {
                account.Amount += e.Transaction.Amount;
            }

            context.Accounts.Update(account);
            await context.SaveChangesAsync();
        }