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
{
///
/// S14.PatrimonioFideuramProdottiBonus - ConsulenzaUnica idSezione = 57
///
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);
}
}
///
///
///
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
attuale (€)") { HeaderFontSize = 7, PaddingRight=4, HeaderPaddingLeft = 15 });
tabellaBonus.Columns.Add(new ColumnPDF("Datariferimento", 85, HorizontalAlignmentType.Destra, false, false, 7, ColumnType.Testo, "Datariferimento", "Data di
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.");
}
}
}