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."); } } }