public async Task CreateAsync(Transaction transaction) { await context.Transactions.AddAsync(transaction); await context.SaveChangesAsync(); TransactionCreatedEventArgs args = new TransactionCreatedEventArgs { Transaction = transaction }; TransactionCreated?.Invoke(this, args); }
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(); }