lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [lmi] master cb5cb7b 021/156: Add more contents to the nar


From: Greg Chicares
Subject: [lmi-commits] [lmi] master cb5cb7b 021/156: Add more contents to the narrative summary page
Date: Tue, 30 Jan 2018 17:21:53 -0500 (EST)

branch: master
commit cb5cb7b9aa336255aabe48408c240d59ae51515d
Author: Vadim Zeitlin <address@hidden>
Commit: Vadim Zeitlin <address@hidden>

    Add more contents to the narrative summary page
    
    Set up ErModeLCWithArticle variable to avoid having complex conditionals
    and processing in the templates.
---
 ledger_pdf_generator_wx.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/ledger_pdf_generator_wx.cpp b/ledger_pdf_generator_wx.cpp
index cc77bde..2f4c0c3 100644
--- a/ledger_pdf_generator_wx.cpp
+++ b/ledger_pdf_generator_wx.cpp
@@ -32,6 +32,7 @@
 #include "interpolate_string.hpp"
 #include "ledger.hpp"
 #include "ledger_invariant.hpp"
+#include "miscellany.hpp"               // lmi_tolower()
 #include "pdf_writer_wx.hpp"
 #include "value_cast.hpp"
 #include "version.hpp"
@@ -526,6 +527,37 @@ or contact your ${InsCoShortName} representative.
                 );
             }
 
+        summary_html += add_body_paragraph_html
+            ( interpolate_html("${AvName}")
+            + text::nbsp()
+            + interpolate_html("${MonthlyChargesPaymentFootnote}")
+            );
+
+        std::string premiums;
+        if(!interpolate_html.test_variable("SinglePremium"))
+            {
+            premiums = R"(
+Premiums are assumed to be paid on ${ErModeLCWithArticle}
+basis and received at the beginning of the contract year.
+)";
+            }
+        else
+            {
+            premiums = R"(
+The single premium is assumed to be paid at the beginning
+of the contract year.
+)";
+            }
+
+        premiums += R"(
+${AvName} Values, ${CsvName} Values,
+and death benefits are illustrated as of the end
+of the contract year. The method we use to allocate
+overhead expenses is the fully allocated expense method.
+)";
+
+        summary_html += add_body_paragraph(premiums);
+
         writer.output_html
             (writer.get_horz_margin()
             ,writer.get_vert_margin()
@@ -573,6 +605,19 @@ class pdf_illustration_regular : public pdf_illustration
             ,policy_name == "Group Flexible Premium Adjustable Life Insurance 
Policy"
             );
 
+        // Variable representing the premium payment frequency with the
+        // appropriate indefinite article preceding it, e.g. "an annual" or "a
+        // monthly".
+        auto const er_mode = invar.ErMode[0].str();
+        if(!er_mode.empty())
+            {
+            auto const er_mode_first = lmi_tolower(er_mode[0]);
+            add_variable
+                ("ErModeLCWithArticle"
+                ,(strchr("aeiou", er_mode_first) ? "an" : "a") + 
er_mode.substr(1)
+                );
+            }
+
         // Add all the pages.
         add<cover_page>();
         add<narrative_summary_page>();



reply via email to

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