public void RemoveBudgetedAmount(BudgetedAmount budgetedAmount) { var amountToRemove = BudgetedAmounts.FirstOrDefault(x => x == budgetedAmount); if (amountToRemove == null) { throw new BusinessException("Budgeted amount not found"); } BudgetedAmounts.Remove(amountToRemove); }
public void UpdateBudgetedAmount(BudgetedAmount budgetedAmount) { var amountToUpdate = BudgetedAmounts.FirstOrDefault(x => x == budgetedAmount); if (amountToUpdate == null) { throw new NotFoundException("Budgeted amount does not exist"); } if (BudgetedAmounts.Any(x => x.BudgetedAmountId != budgetedAmount.BudgetedAmountId && x.ValidFrom == budgetedAmount.ValidFrom)) { throw new BusinessException("Another budgeted amount starting at same date"); } amountToUpdate.SetValidFromDate(budgetedAmount.ValidFrom); amountToUpdate.SetAmount(budgetedAmount.Amount); }