using System; using Consulenza.ReportWriter.Business; using Consulenza.ReportWriter.Business.OBJ_PDF; using System.Data; using Consulenza.ReportWriter.Business.CHART_PDF; using System.Collections.Generic; using System.Linq; using Consulenza.ReportCommon; using ceTe.DynamicPDF; using Consulenza.DataServices.fideuram.data.service; using Consulenza.ReportWriter.Business.Entity; namespace Consulenza.ReportWriter.Manager.Section.Unica { /// /// Scheda 11. Patrimonio Fideuram: dettaglio contratti. IdSezione 54 /// public class S11 : Entity.Section { bool presenzaColonnaControvaloreProdotto; public S11(EnvironmentFacade environmentFacade, int idSection) : base(environmentFacade, idSection) { try { Draw(); } catch (Exception ex) { SectionLogger.Write("S11", ex.Message, SectionLoggerMessageLevel.E, EnvironmentFacade.ReportEnvironment); } } protected override sealed void Draw() { var dati = GetDataSet(); #region Testo Introduttivo AddElement(new SpacePDF(20)); AddElement(new FormattedTextAreaPDF(getTesto1(), EnvironmentFacade.RendererFacade.XLeftLimit, 520) {FontSize=7, TextHorizontalAlign = TextAlign.Justify }); AddElement(new SpacePDF(15)); #endregion #region Tabella Contratti con controvalore positivi var tabella = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit, dati.Tables["contratto"]) { Style = Style.ConsulenzaUnica, AlternateRow = false, HeaderHeight = 30, HeaderTextHorizontalAlign = HorizontalAlignmentType.Sinistra }; //int larghezzaColonnaContratto = mostraColonnaIntestatari() ? 156 : 274; tabella.Columns.Add(new ColumnPDF("Numerocontratto", 75, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Numerocontratto", "Numero
contratto") { HeaderFontSize = 7}); //tabella.Columns.Add(new ColumnPDF("Nomecontratto", larghezzaColonnaContratto, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Nomecontratto", "Nome contratto") { HeaderFontSize = 7 }); //if (mostraColonnaIntestatari()) // tabella.Columns.Add(new ColumnPDF("Intestatari", 118, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Intestatari", "Intestatari") { HeaderFontSize = 7 }); //tabella.Columns.Add(new ColumnPDF("Datasottoscrizione", 80, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Datasottoscrizione", "Data
sottoscrizione") { HeaderFontSize = 7, HeaderPaddingLeft = 4, PaddingLeft = 4 }); //tabella.Columns.Add(new ColumnPDF("Controvaloreattuale", 91, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Controvaloreattuale", "Controvalore
attuale (€)") {HeaderFontSize=7, PaddingRight = 4, HeaderPaddingLeft=15}); // Modifica per Value Plan int larghezzaColonnaContratto = mostraColonnaIntestatari() ? 156 : 274; tabella.Columns.Add(new ColumnPDF("immagineValue", 15, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Immagine, "immagineValue", string.Empty) { DeltaYContent = 6, ScaleColumnTypeImage = 0.50F }); tabella.Columns.Add(new ColumnPDF("Nomecontratto", larghezzaColonnaContratto - 15, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Nomecontratto", "Nome contratto") { HeaderFontSize = 7 }); if (mostraColonnaIntestatari()) tabella.Columns.Add(new ColumnPDF("Intestatari", 118, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Intestatari", "Intestatari") { HeaderFontSize = 7 }); tabella.Columns.Add(new ColumnPDF("Datasottoscrizione", 80, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Datasottoscrizione", "Data
sottoscrizione") { HeaderFontSize = 7, HeaderPaddingLeft = 4, PaddingLeft = 4 }); tabella.Columns.Add(new ColumnPDF("Controvaloreattuale", 91, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Controvaloreattuale", "Controvalore
attuale (€)") { HeaderFontSize = 7, PaddingRight = 4, HeaderPaddingLeft = 15 }); for (int h = 0;h { titolo, icona }; tabella.Cells[1, h].ValueObjectList = listaOggettiDaRipetere; } AddElement(tabella); #endregion } /// /// Recupera i dati necessari alla Section restituendo un DataTable. /// /// protected sealed override DataTable GetDataTable() { return null; } /// /// Recupera i dati necessari alla Section restituendo un DataSet. /// /// protected override DataSet GetDataSet() { #region Estrazione Chiave PB + Servizi var contrattiPatrimonioCasa = datiSeiUnico.patrimonioUnit().contrattiCliente.elencoContratti.ToList(); var pianificazione = datiSeiUnico.pianificazioneUnit().pianificazioneVerticale; string Complessivo = datiSeiUnico.pianificazioneUnit().pianificazioneVerticale.sommaCtvAree.ToString(); #endregion #region Creazione Tabella var ds = new DataSet(); ds.Tables.Add(new DataTable("contratto")); #endregion #region Contratti ds.Tables["contratto"].Columns.Add(new DataColumn("NumeroContratto", typeof(string))); // Aggiunta per Value Plan ds.Tables["contratto"].Columns.Add(new DataColumn("immagineValue", typeof(string))); // Fine Aggiunta ds.Tables["contratto"].Columns.Add(new DataColumn("NomeContratto", typeof(string))); ds.Tables["contratto"].Columns.Add(new DataColumn("Intestatari", typeof(string))); ds.Tables["contratto"].Columns.Add(new DataColumn("DataSottoscrizione", typeof(string))); ds.Tables["contratto"].Columns.Add(new DataColumn("ControvaloreAttuale", typeof(decimal))); ds.Tables["contratto"].Columns.Add(new DataColumn("FontBold", typeof(bool))); ds.Tables["contratto"].Columns.Add(new DataColumn("BackgroundGray", typeof(bool))); ds.Tables["contratto"].Columns.Add(new DataColumn("ColSpan", typeof(bool))); var cc = from o in contrattiPatrimonioCasa where o.ctv >= 0 orderby o.ctv descending select o; var ccn = from o in contrattiPatrimonioCasa where o.ctv < 0 orderby o.ctv descending select o; var sImmagine = ""; foreach (var contratto in cc) { var intestatari = contratto.intestatari != null ? contratto.intestatari.Select(c => new { contrattoConcatenato = string.Format("{0}° {1}", c.posizionamento, c.nomeCognome) }) : null; var sIntestatari =contratto.intestatari != null ? string.Join("
", intestatari.Select(o => o.contrattoConcatenato)) : ""; // Aggiunta per Value Plan sImmagine = ""; if (contratto.savingMap) //if (contratto.nomeContratto.Substring(0, 2).ToUpper() == "FO") sImmagine = "SavingMap.png"; ds.Tables["contratto"].Rows.Add( contratto.codiceContratto, sImmagine, contratto.nomeContratto, sIntestatari, contratto.dtSottoscrizione.ToShortDateString(), contratto.ctv, false, false, false ); // Fine Aggiunta //ds.Tables["contratto"].Rows.Add( // contratto.codiceContratto, // contratto.nomeContratto, // sIntestatari, // contratto.dtSottoscrizione.ToShortDateString(), // contratto.ctv, // false, // false, // false // ); } #endregion #region Contratti Footer if (ccn.Count() > 0 || datiSeiUnico.CASA_OC != 0) { ds.Tables["contratto"].Rows.Add( "Totale risorse finanziarie", "", "", "", "", datiSeiUnico.CASA_SUBTOTALE + datiSeiUnico.CASA_GPELIGO, true, true, true ); if (datiSeiUnico.CASA_OC != 0) { ds.Tables["contratto"].Rows.Add( "Operazioni in corso", "", "", "", "", datiSeiUnico.CASA_OC, false, false, false ); } foreach (var contratto in ccn) { var intestatari = contratto.intestatari != null ? contratto.intestatari.Select(c => new { contrattoConcatenato = string.Format("{0}° {1}", c.posizionamento, c.nomeCognome) }) : null; var sIntestatari = contratto.intestatari != null ? string.Join("
", intestatari.Select(o => o.contrattoConcatenato)) : ""; // Aggiunta per Value Plan sImmagine = ""; if (contratto.savingMap) //if (contratto.nomeContratto.Substring(0, 1) == "F") sImmagine = "SavingMap.png"; // Fine Aggiunta ds.Tables["contratto"].Rows.Add( contratto.codiceContratto, sImmagine, contratto.nomeContratto, sIntestatari, contratto.dtSottoscrizione.ToShortDateString(), contratto.ctv, false, false, false ); } } ds.Tables["contratto"].Rows.Add( Helper.ReplaceVariables("Patrimonio $/Banca/$", base.EnvironmentFacade.ReportEnvironment), "", "", "", "", datiSeiUnico.CASA_TOTALE, true, true, true ); #endregion return ds; } public virtual bool mostraColonnaIntestatari() { return GetOption().Valore; } public virtual string getTesto1() { string testo=""; if (mostraColonnaIntestatari()) testo += "In questa scheda sono riportati i contratti che lei ha sottoscritto presso $/Banca/$. Per ciascun contratto si fornisce l'evidenza di tutti i relativi intestatari."; else testo += "In questa scheda sono riportati i contratti che lei ha sottoscritto presso $/Banca/$."; return datiSeiUnico.FormatBanca(testo); } } }