[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [5641] Rearrange
From: |
Greg Chicares |
Subject: |
[lmi-commits] [5641] Rearrange |
Date: |
Fri, 04 Jan 2013 17:33:24 +0000 |
Revision: 5641
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5641
Author: chicares
Date: 2013-01-04 17:33:24 +0000 (Fri, 04 Jan 2013)
Log Message:
-----------
Rearrange
Modified Paths:
--------------
lmi/trunk/ChangeLog
lmi/trunk/input_harmonization.cpp
Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2013-01-04 17:32:27 UTC (rev 5640)
+++ lmi/trunk/ChangeLog 2013-01-04 17:33:24 UTC (rev 5641)
@@ -31722,3 +31722,19 @@
GNUmakefile
Filter odd cases more aggressively, making new-year updates easier.
+20130104T1731Z <address@hidden> [544]
+
+ ihs_avmly.cpp
+Resolve a marked defect; improve documentation.
+
+20130104T1732Z <address@hidden> [544]
+
+ dbdict.cpp
+Set reasonable rider limits for sample product.
+
+20130104T1733Z <address@hidden> [544]
+
+ input_harmonization.cpp
+Rearrange. Work with riders before specamt, because term rider can
+affect some specamt fields.
+
Modified: lmi/trunk/input_harmonization.cpp
===================================================================
--- lmi/trunk/input_harmonization.cpp 2013-01-04 17:32:27 UTC (rev 5640)
+++ lmi/trunk/input_harmonization.cpp 2013-01-04 17:33:24 UTC (rev 5641)
@@ -440,6 +440,58 @@
// TODO ?? WX PORT !! Perhaps those rules leave no choice allowed
// for gender or smoker.
+ TermRider.enable(database_->Query(DB_AllowTerm));
+ TermRider.allow(mce_yes, database_->Query(DB_AllowTerm));
+
+ bool enable_term = mce_yes == TermRider;
+ bool specamt_indeterminate_for_term =
+ mce_solve_specamt == SolveType
+ || mce_sa_input_scalar != SpecifiedAmountStrategyFromIssue
+ ;
+
+ TermRiderUseProportion.enable(enable_term &&
!specamt_indeterminate_for_term);
+ TermRiderUseProportion.allow(mce_yes, !specamt_indeterminate_for_term);
+ bool term_is_proportional = mce_yes == TermRiderUseProportion;
+ TermRiderAmount .enable(enable_term && !term_is_proportional);
+ TotalSpecifiedAmount.enable(enable_term && term_is_proportional);
+ TermRiderProportion .enable(enable_term && term_is_proportional);
+
+ TermAdjustmentMethod.allow(mce_adjust_base, enable_term);
+ TermAdjustmentMethod.allow(mce_adjust_term, enable_term);
+ TermAdjustmentMethod.allow(mce_adjust_both, enable_term);
+
+ // Analysis of database vector quantities is generally avoided
+ // in this function, in the interest of simplicity and speed.
+ // Otherwise, this condition would include flat extras. But
+ // this WP and ADB restriction is incidental, not essential.
+ bool contract_is_rated(mce_rated == UnderwritingClass);
+ WaiverOfPremiumBenefit.enable( database_->Query(DB_AllowWp ) &&
!contract_is_rated);
+ WaiverOfPremiumBenefit.allow(mce_yes, database_->Query(DB_AllowWp ) &&
!contract_is_rated);
+ AccidentalDeathBenefit.enable( database_->Query(DB_AllowAdb) &&
!contract_is_rated);
+ AccidentalDeathBenefit.allow(mce_yes, database_->Query(DB_AllowAdb) &&
!contract_is_rated);
+
+ ChildRider .enable( database_->Query(DB_AllowChildRider));
+ ChildRider .allow(mce_yes, database_->Query(DB_AllowChildRider));
+ ChildRiderAmount .enable(mce_yes == ChildRider);
+ SpouseRider .enable( database_->Query(DB_AllowSpouseRider));
+ SpouseRider .allow(mce_yes, database_->Query(DB_AllowSpouseRider));
+ SpouseRiderAmount.enable(mce_yes == SpouseRider);
+ SpouseIssueAge .enable(mce_yes == SpouseRider);
+#if 0
+// DATABASE !! Add spouse minimum and maximum issue ages, as well as
+// minimum and maximum amounts for both spouse and child.
+ SpouseIssueAge.minimum_and_maximum
+ (static_cast<int>(database_->Query(DB_MinIssAge))
+ ,static_cast<int>(database_->Query(DB_MaxIssAge))
+ );
+#endif // 0
+
+ HoneymoonEndorsement .enable( database_->Query(DB_AllowHoneymoon));
+ HoneymoonEndorsement .allow(mce_yes, database_->Query(DB_AllowHoneymoon));
+ PostHoneymoonSpread .enable(mce_yes == HoneymoonEndorsement);
+ HoneymoonValueSpread .enable(mce_yes == HoneymoonEndorsement);
+ InforceHoneymoonValue.enable(mce_yes == HoneymoonEndorsement);
+
// Many SA strategies forbidden if premium is a function of SA.
bool prem_indeterminate =
(
@@ -651,58 +703,6 @@
InforceRegularLoanBalance .enable(loan_allowed);
InforcePreferredLoanBalance.enable(pref_loan_allowed);
- TermRider.enable(database_->Query(DB_AllowTerm));
- TermRider.allow(mce_yes, database_->Query(DB_AllowTerm));
-
- bool enable_term = mce_yes == TermRider;
- bool specamt_indeterminate_for_term =
- mce_solve_specamt == SolveType
- || mce_sa_input_scalar != SpecifiedAmountStrategyFromIssue
- ;
-
- TermRiderUseProportion.enable(enable_term &&
!specamt_indeterminate_for_term);
- TermRiderUseProportion.allow(mce_yes, !specamt_indeterminate_for_term);
- bool term_is_proportional = mce_yes == TermRiderUseProportion;
- TermRiderAmount .enable(enable_term && !term_is_proportional);
- TotalSpecifiedAmount.enable(enable_term && term_is_proportional);
- TermRiderProportion .enable(enable_term && term_is_proportional);
-
- TermAdjustmentMethod.allow(mce_adjust_base, enable_term);
- TermAdjustmentMethod.allow(mce_adjust_term, enable_term);
- TermAdjustmentMethod.allow(mce_adjust_both, enable_term);
-
- // Analysis of database vector quantities is generally avoided
- // in this function, in the interest of simplicity and speed.
- // Otherwise, this condition would include flat extras. But
- // this WP and ADB restriction is incidental, not essential.
- bool contract_is_rated(mce_rated == UnderwritingClass);
- WaiverOfPremiumBenefit.enable( database_->Query(DB_AllowWp ) &&
!contract_is_rated);
- WaiverOfPremiumBenefit.allow(mce_yes, database_->Query(DB_AllowWp ) &&
!contract_is_rated);
- AccidentalDeathBenefit.enable( database_->Query(DB_AllowAdb) &&
!contract_is_rated);
- AccidentalDeathBenefit.allow(mce_yes, database_->Query(DB_AllowAdb) &&
!contract_is_rated);
-
- ChildRider .enable( database_->Query(DB_AllowChildRider));
- ChildRider .allow(mce_yes, database_->Query(DB_AllowChildRider));
- ChildRiderAmount .enable(mce_yes == ChildRider);
- SpouseRider .enable( database_->Query(DB_AllowSpouseRider));
- SpouseRider .allow(mce_yes, database_->Query(DB_AllowSpouseRider));
- SpouseRiderAmount.enable(mce_yes == SpouseRider);
- SpouseIssueAge .enable(mce_yes == SpouseRider);
-#if 0
-// DATABASE !! Add spouse minimum and maximum issue ages, as well as
-// minimum and maximum amounts for both spouse and child.
- SpouseIssueAge.minimum_and_maximum
- (static_cast<int>(database_->Query(DB_MinIssAge))
- ,static_cast<int>(database_->Query(DB_MaxIssAge))
- );
-#endif // 0
-
- HoneymoonEndorsement .enable( database_->Query(DB_AllowHoneymoon));
- HoneymoonEndorsement .allow(mce_yes, database_->Query(DB_AllowHoneymoon));
- PostHoneymoonSpread .enable(mce_yes == HoneymoonEndorsement);
- HoneymoonValueSpread .enable(mce_yes == HoneymoonEndorsement);
- InforceHoneymoonValue.enable(mce_yes == HoneymoonEndorsement);
-
bool solves_allowed = mce_life_by_life == RunOrder;
bool enable_prem_and_specamt_solves =
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [5641] Rearrange,
Greg Chicares <=