/// <summary> /// Removes the given applicableCommissions /// </summary> /// <param name="loanToUpdate">loanToUpdate</param> /// <param name="applicableCommissions">applicableCommissions</param> public void RemoveLoanApplicableCommissions(Loan loanToUpdate, IList<int> applicableCommissions) { try { ILoanApplicableCommissionDAO loanApplicableCommissionDAO = _daoFactory.GetLoanApplicableCommissionDAO (); IList<LoanApplicableCommission> commissionsToRemove = new List<LoanApplicableCommission> (); foreach (int commissionId in applicableCommissions) { LoanApplicableCommission commision = loanApplicableCommissionDAO.FindById ( commissionId); if (commision == null) { throw new ZiblerBusinessComponentsException ( Resources.LoanOperationsMsgLoanApplicableCommissionNotFound); } else { commissionsToRemove.Add (commision); } } foreach (LoanApplicableCommission commToRemove in commissionsToRemove) { loanToUpdate.RemoveLoanApplicableCommission (commToRemove); } } /* If the exception was thrown here, just pass it up */ catch (ZiblerBusinessComponentsException ex) { throw; } /* Catch any Data Layer or other exception and throw an unkown exception */ catch (Exception ex) { ZiblerBusinessComponentsUnknownException exc = new ZiblerBusinessComponentsUnknownException (ex); /* Throw the new exception */ throw exc; } }