2025-04-15 12:10:19 +02:00

199 lines
8.4 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections;
using ceTe.DynamicPDF;
using ceTe.DynamicPDF.Text;
using PDFGenerator.Presentation.Section.Tables;
using PDFGenerator.BusinessLayer.DataSection;
using PDFGenerator.BusinessLayer;
using System.Resources;
using System.Reflection;
namespace PDFGenerator.Presentation.Section
{
class S129 : ISezione
{
private string _header = "";
public string Header
{
get { return _header; }
set { _header = value; }
}
private TipoReport _tipologiaReport;
public TipoReport TipologiaReport
{
get { return _tipologiaReport; }
set { _tipologiaReport = value; }
}
private string _testoIntroduttivo = string.Empty;
public string TestoIntroduttivo
{
get { return _testoIntroduttivo; }
set { _testoIntroduttivo = value; }
}
private string _testoChiusura = string.Empty;
public string TestoChiusura
{
get { return _testoChiusura; }
set { _testoChiusura = value; }
}
public S129()
{
//
// TODO: Add constructor logic here
//
}
#region ISezione Members
public void writeSezione(DataThread dataThread)
{
DocumentPDF document = dataThread.DocumentPDF;
DataSetS129 set = (DataSetS129)dataThread.Data.DatiSezione;
ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage();
document.setSezTitolo(dataThread.SezioneReport.Titolo);
string tempTesto = dataThread.SezioneReport.TestoIntroduttivo;
if (dataThread.IsProffesionalClient)
tempTesto = "Di seguito è riportato il dettaglio del patrimonio che lei detiene presso Fideuram, con indicazione del controvalore nel trimestre precedente, dellammontare dei movimenti effettuati e dellutile / perdita realizzato / a nel trimestre di riferimento";
//if (dataThread.Rete.ToUpper() == "S")
// tempTesto = tempTesto.Replace("Fideuram", "Sanpaolo Invest");
//**************************** Cecco modifiche dicitura IWBANK*******************
if (dataThread.Rete.ToUpper() == "S")
//Rosaspina Andrea//
tempTesto = tempTesto.Replace("Fideuram", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest");
// tempTesto = tempTesto.Replace("Fideuram", "Sanpaolo Invest");
else if (dataThread.Rete.ToUpper() == "W")
tempTesto = tempTesto.Replace("Fideuram", "IW Private Investments");
//****************************************************************************
document.setChapterHeader(tempTesto, 0, 520, 8);
float YTable = document.getLastPos();
float XTable = document.getMargineLeft();
#region TOTALE PATRIMONIO
string intestazioneColonnaTabella = "Patrimonio " + dataThread.NomeRete;
string intestazioneColonnaData = "Situazione al " + dataThread.DataFineTrimestreCorrente.ToShortDateString();
DatiTabella totalitab = new DatiTabella();
totalitab.table = set.Tables["Totali"];
totalitab.SetRowDim(15);
Tabella tabellaTotale = new Tabella(XTable, YTable);
tabellaTotale.LineaFineTabella = true;
tabellaTotale.AltezzaCella = 15;
tabellaTotale.SaltoPagina = false;
tabellaTotale.Header = true;
tabellaTotale.Colonne.Add(new Colonna("Descrizione", intestazioneColonnaTabella, 312, TipoAllineamento.SINISTRA, true, 9, false));
tabellaTotale.Colonne.Add(new Colonna("Controvalore", intestazioneColonnaData, 200, TipoAllineamento.DESTRA, true, 9, false));
tabellaTotale.Draw(totalitab, document);
#endregion
document.setLastPos(((totalitab.getNumRow() + 1) * totalitab.GetRowDim()) - 30);
# region controvalore trimestre precedente
DatiTabella controvaloreTrimPrecDatiTab = new DatiTabella();
controvaloreTrimPrecDatiTab.table = set.Tables["ControvaloreTrimPrec"];
controvaloreTrimPrecDatiTab.SetRowDim(15);
controvaloreTrimPrecDatiTab.setIsLinee(1);
controvaloreTrimPrecDatiTab.setCell(312, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
controvaloreTrimPrecDatiTab.setCell(200, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
controvaloreTrimPrecDatiTab.setX(XTable);
Tabella patrimonioControvTab = new Tabella();
# endregion
# region movimenti ultimo trimestre
DatiTabella movimentiUltTrimDatiTab = new DatiTabella();
movimentiUltTrimDatiTab.table = set.Tables["MovimentiUltTrim"];
movimentiUltTrimDatiTab.SetRowDim(15);
movimentiUltTrimDatiTab.setIsLinee(1);
movimentiUltTrimDatiTab.setCell(312, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
movimentiUltTrimDatiTab.setCell(200, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
movimentiUltTrimDatiTab.setX(XTable);
Tabella patrimonioMovimentiTab = new Tabella();
patrimonioMovimentiTab.AltezzaCella = 15;
# endregion
# region utile / perdita
DatiTabella utilePerditaDatiTab = new DatiTabella();
utilePerditaDatiTab.table = set.Tables["UtilePerdita"];
utilePerditaDatiTab.SetRowDim(15);
utilePerditaDatiTab.setIsLinee(1);
//utilePerditaDatiTab.setCell(312, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
//utilePerditaDatiTab.setCell(200, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
//utilePerditaDatiTab.setX(document.getMargineLeft());
Tabella utilePerditaTab = new Tabella();
utilePerditaTab.X = XTable;
utilePerditaTab.AltezzaCella = 15;
utilePerditaTab.LineaFineTabella = true;
utilePerditaTab.Colonne.Add(new Colonna("Descrizione", "Descrizione", 312, TipoAllineamento.SINISTRA, true, 9, false));
utilePerditaTab.Colonne.Add(new Colonna("valore", "valore", 200, TipoAllineamento.DESTRA, true, 9, false));
# endregion
if (!dataThread.NoMonitoraggio)
{
YTable = document.getLastPos();
controvaloreTrimPrecDatiTab.setY(YTable);
document.InsertTable(patrimonioControvTab.getTabella(controvaloreTrimPrecDatiTab));
YTable += controvaloreTrimPrecDatiTab.GetRowDim();
movimentiUltTrimDatiTab.setY(YTable);
document.InsertTable(patrimonioMovimentiTab.getTabella(movimentiUltTrimDatiTab));
YTable += movimentiUltTrimDatiTab.GetRowDim();
ceTe.DynamicPDF.PageElements.Line line = new ceTe.DynamicPDF.PageElements.Line(document.getMargineLeft(), YTable, 555, YTable, new RgbColor(235, 235, 236));
page.Elements.Add(line);
YTable += 2;
line = new ceTe.DynamicPDF.PageElements.Line(document.getMargineLeft(), YTable, 555, YTable, new RgbColor(235, 235, 236));
page.Elements.Add(line);
YTable += 34;
utilePerditaTab.Y = YTable;
utilePerditaTab.Draw(utilePerditaDatiTab, document);
document.setLastPos(
(controvaloreTrimPrecDatiTab.GetRowDim()) +
(movimentiUltTrimDatiTab.GetRowDim()) +
(2 + 34 - 23));
}
else document.setLastPos(0);
}
#endregion
}
}