lmi-commits
[Top][All Lists]
Advanced

[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 =




reply via email to

[Prev in Thread] Current Thread [Next in Thread]