284 lines
13 KiB
C#
284 lines
13 KiB
C#
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
|
|
{
|
|
/// <summary>
|
|
/// Scheda 11. Patrimonio Fideuram: dettaglio contratti. IdSezione 54
|
|
/// </summary>
|
|
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<br> 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<br>sottoscrizione") { HeaderFontSize = 7, HeaderPaddingLeft = 4, PaddingLeft = 4 });
|
|
//tabella.Columns.Add(new ColumnPDF("Controvaloreattuale", 91, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Controvaloreattuale", "Controvalore<br>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<br>sottoscrizione") { HeaderFontSize = 7, HeaderPaddingLeft = 4, PaddingLeft = 4 });
|
|
tabella.Columns.Add(new ColumnPDF("Controvaloreattuale", 91, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Controvaloreattuale", "Controvalore<br>attuale (€)") { HeaderFontSize = 7, PaddingRight = 4, HeaderPaddingLeft = 15 });
|
|
|
|
|
|
for (int h = 0;h<dati.Tables["contratto"].Rows.Count;h++ ) {
|
|
DataRow row = dati.Tables["contratto"].Rows[h];
|
|
tabella.Cells[mostraColonnaIntestatari()?5:4, h].HorizontalAlignment = HorizontalAlignmentType.Destra;
|
|
if (Convert.ToBoolean(row["ColSpan"]))
|
|
{
|
|
tabella.Cells[0, h].ColSpan = 3;
|
|
tabella.Cells[0, h].Value = row["NomeContratto"].ToString();
|
|
}
|
|
for (int c = 0; c < tabella.Columns.Count; c++) {
|
|
tabella.Cells[c, h].BackgroundColor = Convert.ToBoolean(row["BackgroundGray"]) ? ColorPDF.ConsulenzaUnica_Grigio_SfondoColonnaHeaderFooterTabella : ColorPDF.Bianco;
|
|
tabella.Cells[c, h].FontBold = Convert.ToBoolean(row["FontBold"]);
|
|
}
|
|
|
|
// Aggiunta per Value Plan
|
|
float fSpace = 0;
|
|
fSpace = row["NomeContratto"].ToString().Length * 2.3f;
|
|
var icona = new ImagePDF(EnvironmentFacade.RendererFacade.XLeftLimit, 0.6F, row["immagineValue"].ToString()) { AutoIncrementYWritable = false, DeltaY = 3, DeltaX = fSpace };
|
|
var titolo = new FormattedTextAreaPDF();
|
|
titolo.Text = row["NomeContratto"].ToString();
|
|
titolo.DeltaY = 2;
|
|
titolo.TextVerticalAlign = VAlign.Center;
|
|
|
|
var listaOggettiDaRipetere = new List<ObjectPDF> { titolo, icona };
|
|
tabella.Cells[1, h].ValueObjectList = listaOggettiDaRipetere;
|
|
}
|
|
AddElement(tabella);
|
|
#endregion
|
|
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// Recupera i dati necessari alla Section restituendo un DataTable.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
protected sealed override DataTable GetDataTable()
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Recupera i dati necessari alla Section restituendo un DataSet.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
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("<BR>", 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("<BR>", 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<Opzione4>().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);
|
|
}
|
|
}
|
|
}
|