private void ReassingTransactionsByDate(BudgetCategory fromCategory, BudgetCategory toCategory)
 {
     foreach (Transaction tran in _context.GetTransactions()
              .Where(t => t.OverrideCategoryID == fromCategory.ID && t.Date >= toCategory.EffectiveFrom))
     {
         tran.OverrideCategoryID = toCategory.ID;
         _context.EditTransaction(tran);
     }
 }
        public async Task <int> UpdateTransactionAsync(int id, Transaction transaction)
        {
            if (id != transaction.ID)
            {
                throw new IdMismatchException($"Id = {id} does not equal transaction id of {transaction.ID}");
            }

            try {
                _context.EditTransaction(transaction);
                return(await _context.SaveChangesAsync());
            } catch (DbUpdateConcurrencyException) {
                throw new ConcurrencyException();
            }
        }
        public void EditTransaction_calls_EFCore_Update()
        {
            // Arrange
            var mockTransactionSet = new Mock <DbSet <Transaction> >();

            _mockContext.SetupGet(m => m.Transactions).Returns(mockTransactionSet.Object);
            var testTransaction = new Transaction();

            // Act
            _testRepo.EditTransaction(testTransaction);

            // Assert
            mockTransactionSet.Verify(m => m.Update(testTransaction), Times.Once());
        }