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