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

142 lines
4.8 KiB
C#

using System;
using System.Collections.Generic;
using System.Web;
using System.Data;
using PDFGenerator.Presentation.Section.Tables;
using PDFGenerator.BusinessLayer.DataSection;
using PDFGenerator.BusinessLayer;
using ceTe.DynamicPDF.PageElements;
using ceTe.DynamicPDF.Text;
/// <summary>
/// Summary description for S103
/// </summary>
///
namespace PDFGenerator.Presentation.Section
{
public class S103
{
private string _titolo = string.Empty;
private string _testointroduttivo = string.Empty;
/// <summary>
/// Titolo della sezione
/// </summary>
public string Titolo
{
get
{
return _titolo;
}
set
{
_titolo = value;
}
}
/// <summary>
/// Testo introduttivo della Sezione.
/// </summary>
public string TestoIntroduttivo
{
get
{
return _testointroduttivo;
}
set
{
_testointroduttivo = value;
}
}
public S103()
{
//
// TODO: Add constructor logic here
//
}
public void writeSezione(DataThread dataThread)
{
DocumentPDF document = dataThread.DocumentPDF;
//DataSectionParameter dataSectionParameter = paramSez.getParam();
DataSetS103 set = (DataSetS103)dataThread.Data.DatiSezione;
DatiTabella datitab = new DatiTabella();
datitab.table = set.Tables["Emittenti"];
//calcola se entra nella pagina altrimenti aggiunge una nuova pagina.
if (document.checkMargin(datitab.GetRowDim() * (datitab.getNumRow() + 2)))
document.addPage();
//document.setSezTitolo(_titolo); // Titolo della sezione
string temp;
if (dataThread.Intermediario == "BF" || dataThread.Intermediario == string.Empty)
if (dataThread.Rete == "S")
temp = "Sanpaolo Invest";
else
//FC 26062015 Aggionamento nuova Ragione Sociale
temp = "Fideuram";
else
temp = dataThread.Intermediario;
_testointroduttivo = _testointroduttivo.Replace("/$BANCA$/", temp);
// testo introduttivo
if (temp.ToUpper() == "COMPLESSIVO")
_testointroduttivo = _testointroduttivo.Replace("il patrimonio che Lei detiene presso Complessivo", "il Suo patrimonio finanziario complessivo");
document.setSezHeader(_testointroduttivo);
document.setHeaderSpace(10);
//Disegno la tabella
Tabella tabellaDati = new Tabella(document.getMargineLeft(), document.getLastPos());
if (dataThread.TipoReport.ToUpper() == "DIAGNOSI") tabellaDati.HeaderFont = 8;
tabellaDati.Header = true;
tabellaDati.Datasource = datitab.table;
tabellaDati.Colonne.Add(new Colonna("Emittente", "Emittente", 120, TipoAllineamento.SINISTRA, false, 7, false));
tabellaDati.Colonne.Add(new Colonna("Rischio", "Rischio Credito", 95, TipoAllineamento.DESTRA, false, 6, false));
//tabellaDati.Colonne.Add(new Colonna("Rischio", "Rischio Credito", 80, TipoAllineamento.DESTRA, false, 7, false));
tabellaDati.Colonne.Add(new Colonna("CtvObbligazionario", "Controvalore Obbligazionario (€)", 115, TipoAllineamento.DESTRA, false, 7, false));
//tabellaDati.Colonne.Add(new Colonna("CtvObbligazionario", "Controvalore Obbligazionario (€)", 130, TipoAllineamento.DESTRA, false, 7, false));
tabellaDati.Colonne.Add(new Colonna("CtvAzionario", "Controvalore Azionario (€)", 90, TipoAllineamento.DESTRA, false, 7, false));
tabellaDati.Colonne.Add(new Colonna("Concentrazione", "Concentrazione (%)", 92, TipoAllineamento.DESTRA, false, 7, false));
bool notaNeeded = false;
foreach (DataSetS103.EmittentiRow rw in set.Emittenti.Rows)
{
notaNeeded = notaNeeded || rw.Nota;
}
tabellaDati.Draw(datitab, document);
if (notaNeeded)
{
document.getCurrentPage().Elements.Add(new Label(Resource.Nota_TabellaEmittenti, datitab.getX(), document.getLastPos() + tabellaDati.AltezzaTabella, 500F, 30F, Globals.OpenTypeFontVerdana, 8));
//List<string> nota = new List<string>();
//nota.Add(Resource.Nota_TabellaEmittenti);
//tabellaDati.NotaTabella = nota;
}
// setto la posizione aggiornata
if (notaNeeded)
document.setLastPos(tabellaDati.AltezzaTabella + 20);
else
document.setLastPos(tabellaDati.AltezzaTabella);
}
}
}