lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [5178] Retaliate wherever appropriate--not just in monthiv


From: Greg Chicares
Subject: [lmi-commits] [5178] Retaliate wherever appropriate--not just in monthiversary processing
Date: Mon, 23 May 2011 13:46:19 +0000

Revision: 5178
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5178
Author:   chicares
Date:     2011-05-23 13:46:19 +0000 (Mon, 23 May 2011)
Log Message:
-----------
Retaliate wherever appropriate--not just in monthiversary processing

Modified Paths:
--------------
    lmi/trunk/basic_values.hpp
    lmi/trunk/ihs_basicval.cpp
    lmi/trunk/mec_server.cpp

Modified: lmi/trunk/basic_values.hpp
===================================================================
--- lmi/trunk/basic_values.hpp  2011-05-23 13:11:15 UTC (rev 5177)
+++ lmi/trunk/basic_values.hpp  2011-05-23 13:46:19 UTC (rev 5178)
@@ -542,6 +542,7 @@
     (product_database   const& db
     ,stratified_charges const& stratified
     ,mcenum_state              premium_tax_state
+    ,mcenum_state              state_of_domicile
     ,bool                      amortize_premium_load
     );
 

Modified: lmi/trunk/ihs_basicval.cpp
===================================================================
--- lmi/trunk/ihs_basicval.cpp  2011-05-23 13:11:15 UTC (rev 5177)
+++ lmi/trunk/ihs_basicval.cpp  2011-05-23 13:46:19 UTC (rev 5178)
@@ -833,6 +833,7 @@
         (*Database_
         ,*StratifiedCharges_
         ,GetPremiumTaxState()
+        ,GetStateOfDomicile()
         ,yare_input_.AmortizePremiumLoad
         );
 
@@ -848,7 +849,13 @@
     DomiciliaryPremiumTaxLoad_ = 0.0;
     if(!yare_input_.AmortizePremiumLoad)
         {
-        DomiciliaryPremiumTaxLoad_ = Database_->Query(DB_PremTaxLoad, index);
+        double domiciliary_premium_tax_rate = Database_->Query(DB_PremTaxRate, 
index);
+        DomiciliaryPremiumTaxLoad_          = Database_->Query(DB_PremTaxLoad, 
index);
+        if(premium_tax_is_retaliatory_)
+            {
+            PremiumTaxRate_ = std::max(PremiumTaxRate_, 
domiciliary_premium_tax_rate);
+            PremiumTaxLoad_ = std::max(PremiumTaxLoad_, 
DomiciliaryPremiumTaxLoad_  );
+            }
         }
     }
 
@@ -895,6 +902,7 @@
     (product_database   const& db
     ,stratified_charges const& stratified
     ,mcenum_state              premium_tax_state
+    ,mcenum_state              state_of_domicile
     ,bool                      amortize_premium_load
     )
 {
@@ -925,6 +933,12 @@
     database_index index = db.index().state(premium_tax_state);
     z = db.Query(DB_PremTaxLoad, index);
 
+    if(premium_tax_is_retaliatory(premium_tax_state, state_of_domicile))
+        {
+        index = db.index().state(state_of_domicile);
+        z = std::max(z, db.Query(DB_PremTaxLoad, index));
+        }
+
     if(!db.varies_by_state(DB_PremTaxLoad))
         {
         return z;

Modified: lmi/trunk/mec_server.cpp
===================================================================
--- lmi/trunk/mec_server.cpp    2011-05-23 13:11:15 UTC (rev 5177)
+++ lmi/trunk/mec_server.cpp    2011-05-23 13:46:19 UTC (rev 5178)
@@ -42,6 +42,7 @@
 #include "ihs_irc7702a.hpp"
 #include "materially_equal.hpp"
 #include "math_functors.hpp"
+#include "mc_enum_types_aux.hpp"     // mc_state_from_string()
 #include "mec_input.hpp"
 #include "mec_xml_document.hpp"
 #include "miscellany.hpp"            // ios_out_trunc_binary()
@@ -306,6 +307,7 @@
         (database
         ,stratified
         ,PremiumTaxState
+        ,mc_state_from_string(product_filenames.datum("InsCoDomicile"))
         ,false
         );
 




reply via email to

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