128 lines
6.3 KiB
C#
128 lines
6.3 KiB
C#
using System;
|
|
using Consulenza.ReportWriter.Business;
|
|
using Consulenza.ReportWriter.Business.OBJ_PDF;
|
|
using System.Data;
|
|
using Consulenza.ReportCommon;
|
|
using Consulenza.ReportWriter.Business.CHART_PDF;
|
|
using System.Collections.Generic;
|
|
using Consulenza.ReportWriter.Business.Entity;
|
|
using System.Linq;
|
|
|
|
|
|
|
|
namespace Consulenza.ReportWriter.Manager.Section.Unica
|
|
{
|
|
/// <summary>
|
|
/// S14.PatrimonioFideuramProdottiBonus - ConsulenzaUnica idSezione = 57
|
|
/// </summary>
|
|
public class S14 : Entity.Section
|
|
{
|
|
string addNomeContratto = "";
|
|
|
|
public S14(EnvironmentFacade environmentFacade, int idSection)
|
|
: base(environmentFacade, idSection)
|
|
{
|
|
try
|
|
{
|
|
Draw();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
SectionLogger.Write("S14", ex.Message, SectionLoggerMessageLevel.E, EnvironmentFacade.ReportEnvironment);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
protected override sealed void Draw()
|
|
{
|
|
|
|
var dati = GetDataSet();
|
|
|
|
if (getTesto1().Length > 0)
|
|
{
|
|
AddElement(new SpacePDF(20));
|
|
AddElement(new FormattedTextAreaPDF(getTesto1(), EnvironmentFacade.RendererFacade.XLeftLimit) {FontSize=7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
|
|
AddElement(new SpacePDF(15));
|
|
}
|
|
|
|
TablePDF tabellaBonus =null;
|
|
foreach (DataTable dtBonus in dati.Tables) {
|
|
tabellaBonus = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit, dtBonus)
|
|
{
|
|
Style = Style.ConsulenzaUnica,
|
|
Header = true,
|
|
Footer = false,
|
|
AlternateRow = false,
|
|
RowHeight = 25
|
|
};
|
|
tabellaBonus.Columns.Add(new ColumnPDF("Descrizione", 350, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Descrizione", "Contratto " + dtBonus.TableName){HeaderFontSize=7 });
|
|
tabellaBonus.Columns.Add(new ColumnPDF("Controvaloreattuale", 85, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Controvaloreattuale", "Controvalore<br>attuale (€)") { HeaderFontSize = 7, PaddingRight=4, HeaderPaddingLeft = 15 });
|
|
tabellaBonus.Columns.Add(new ColumnPDF("Datariferimento", 85, HorizontalAlignmentType.Destra, false, false, 7, ColumnType.Testo, "Datariferimento", "Data di<br> riferimento") { HeaderFontSize = 7});
|
|
for (int i = 0; i < dtBonus.Rows.Count;i++ )
|
|
{
|
|
tabellaBonus.Cells[1, i].HorizontalAlignment = HorizontalAlignmentType.Destra;
|
|
}
|
|
AddElement(tabellaBonus);
|
|
AddElement(new SpacePDF(20));
|
|
}
|
|
|
|
if (tabellaBonus!=null) {
|
|
tabellaBonus.Notes.Add(
|
|
new TableNotePDF(TableNotePDF.TableNotePositionType.PièDiTabella,
|
|
getNota1(),
|
|
new[] { "" },
|
|
"",
|
|
TableNotePDF.TableNoteAsteriskPositionType.PieDiTabella) { FontSize = 6, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify }
|
|
);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
protected sealed override DataTable GetDataTable()
|
|
{
|
|
return null;
|
|
}
|
|
|
|
|
|
protected sealed override DataSet GetDataSet()
|
|
{
|
|
var ds = new DataSet();
|
|
|
|
var elencoContratti = datiSeiUnico.patrimonioUnit().patrimonioCasa.dettaglioContratti.elencoContratti;
|
|
|
|
foreach (var item in from o in elencoContratti where o.tipoContratto.Equals("PREMIUM") select o)
|
|
{
|
|
|
|
Int32 NumeroModulo = Convert.ToInt32(item.codiceContratto.Substring(8, 1) + item.codiceContratto.Substring(0, 6) + item.codiceContratto.Substring(9, 2));
|
|
|
|
if (NumeroModulo < 100000100 && NumeroModulo > 199999912)
|
|
addNomeContratto = " 4+4";
|
|
|
|
ds.Tables.Add(item.codiceContratto);
|
|
ds.Tables[item.codiceContratto].Columns.Add(new DataColumn("Descrizione", typeof(string)));
|
|
ds.Tables[item.codiceContratto].Columns.Add(new DataColumn("Controvaloreattuale", typeof(string)));
|
|
ds.Tables[item.codiceContratto].Columns.Add(new DataColumn("Datariferimento", typeof(string)));
|
|
|
|
ds.Tables[item.codiceContratto].Rows.Add(item.nomeContratto + addNomeContratto, Helper.FormatCurrency(item.ctvRiferimento.ToString()), Convert.ToDateTime(item.dtRiferimento).ToShortDateString());
|
|
ds.Tables[item.codiceContratto].Rows.Add("Bonus maturato", Helper.FormatCurrency(item.ctvBonusMaturato.ToString()), Convert.ToDateTime(item.dtRiferimentoBonusMaturato).ToShortDateString());
|
|
ds.Tables[item.codiceContratto].Rows.Add("Bonus a scadenza 5 anni", Helper.FormatCurrency(item.ctvBonusScadenza5Anni.ToString()), Convert.ToDateTime(item.dtRiferimentoBonusScadenza5Anni).ToShortDateString());
|
|
ds.Tables[item.codiceContratto].Rows.Add("Bonus a scadenza 10 anni", Helper.FormatCurrency(item.ctvBonusScadenza10Anni.ToString()), Convert.ToDateTime(item.dtRiferimentoBonusScadenza10Anni).ToShortDateString());
|
|
}
|
|
|
|
return ds;
|
|
}
|
|
|
|
public virtual string getTesto1()
|
|
{
|
|
return datiSeiUnico.FormatBanca("Nella tabella sottostante è riportato il Bonus* maturato ad oggi sulle polizze unit linked Fideuram Vita Insieme Premium" + addNomeContratto + " da lei detenute nel patrimonio $/Banca/$. Si fornisce, inoltre, indicazione del Bonus previsto dalle suddette polizze alle scadenze contrattualmente stabilite.");
|
|
}
|
|
|
|
public virtual string getNota1() {
|
|
return datiSeiUnico.FormatBanca("Il Bonus esposto in tabella dipende dal controvalore dei premi (di sottoscrizione o aggiuntivi) versati, o oggetto di riscatto, alla data di produzione del report, e pertanto può variare in funzione di essi. L'importo del bonus verrà erogato sotto forma di maggiorazione del numero di quote attribuite al contratto qualora siano rispettate le condizioni contrattuali.");
|
|
}
|
|
}
|
|
}
|