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

300 lines
12 KiB
C#

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.Threading;
using System.Globalization;
namespace PDFGenerator.Presentation.Section
{
class S174 : ISezione
{
#region ISezione Members
public void writeSezione(DataThread dataThread)
{
DocumentPDF document = dataThread.DocumentPDF;
DataSetS174 set = (DataSetS174)dataThread.Data.DatiSezione;
if (dataThread.TipoContratto != TipoContratto.Private)
{
if ((set.Bonus.Rows.Count > 0) && (set.Protetti.Rows.Count == 1))
{
if (document.checkMargin(280))
document.addPage();
}
else
{
if (document.checkMargin(260))
document.addPage();
}
}
document.setSezTitolo(dataThread.SezioneReport.Titolo);
if (set.Bonus.Rows.Count > 0)
{
//if (document.checkMargin(190))
// document.addPage();
#region E-FOI80
//E-FOI80 if ((set.Bonus.Rows.Count == 1) && (set.Protetti.Rows.Count > 0))
if ((set.Bonus.Rows.Count == 1) && (set.FOI80.Rows.Count > 0))
#endregion
{
if (document.checkMargin(280))
document.addPage();
}
else
{
if (document.checkMargin(240))
document.addPage();
}
#region E-FOI80
//E-FOI80 if (set.Protetti.Rows.Count > 0)
if (set.FOI80.Rows.Count > 0)
#endregion
{
document.setChapterHeader("");
document.setSezTitoloWithoutNumber("Bonus");
}
string testo = dataThread.SezioneReport.TestoIntroduttivo;
testo = testo.Replace("$/Prodotto/$", set.Bonus.Rows[0]["DES_PROD"].ToString());
document.setChapterHeader(testo, 0, 520, 8);
Bonus(dataThread);
}
}
#endregion
private void Bonus(DataThread dataThread)
{
DocumentPDF document = dataThread.DocumentPDF;
DataSetS174 set = (DataSetS174)dataThread.Data.DatiSezione;
float htestosotto = 0;
for (int r = 0; r < set.Bonus.Rows.Count; r++)
{
Tabella tabellaDati = new Tabella();
tabellaDati.HeaderFont = 8;
DataRow riga = set.Bonus.Rows[r];
if (r == set.Bonus.Rows.Count - 1) htestosotto = 100;
if (document.checkMargin((tabellaDati.AltezzaCella * 5) + htestosotto))
document.addPage();
tabellaDati.Header = true;
tabellaDati.Y = document.getLastPos();
tabellaDati.X = document.getMargineLeft();
tabellaDati.Colonne.Add(new Colonna("DESCRIZIONE", "Contratto " + riga["cod_conf"], 352, TipoAllineamento.SINISTRA, false, 7, false));
tabellaDati.Colonne.Add(new Colonna("CTV", "Controvalore (€)", 90, TipoAllineamento.DESTRA, false, 7, false));
tabellaDati.Colonne.Add(new Colonna("DATARIF", "Data di riferimento", 70, TipoAllineamento.DESTRA, false, 7, false));
tabellaDati.Draw(new DatiTabella(TabellaBonus(riga)), document);
document.setLastPos(tabellaDati.AltezzaTabella - 15);
}
document.setChapterHeader(dataThread.SezioneReport.Nota, 0, 520, 7);
}
private void CapitaleProtetto(DataThread dataThread)
{
DocumentPDF document = dataThread.DocumentPDF;
DataSetS174 set = (DataSetS174)dataThread.Data.DatiSezione;
float htestosotto = 0;
for (int r = 0; r < set.Protetti.Rows.Count; r++)
{
Tabella tabellaDati = new Tabella();
tabellaDati.HeaderFont = 8;
DataRow riga = set.Protetti.Rows[r];
if (r == set.Protetti.Rows.Count - 1) htestosotto = 100;
if (document.checkMargin((tabellaDati.AltezzaCella * 4) + htestosotto))
document.addPage();
tabellaDati.Header = true;
tabellaDati.Y = document.getLastPos();
tabellaDati.X = document.getMargineLeft();
#region FOI80
//E-FOI80 tabellaDati.Colonne.Add(new Colonna("DESCRIZIONE", "Descrizione", 232, TipoAllineamento.SINISTRA, false, 7, false));
tabellaDati.Colonne.Add(new Colonna("DESCRIZIONE", riga["DES_PROD_TIT"] + "<br>Contratto " + riga["COD_CONF"], 232, TipoAllineamento.SINISTRA, false, 7, false));
#endregion
tabellaDati.Colonne.Add(new Colonna("QUOTA", "Quota (€)", 60, TipoAllineamento.DESTRA, false, 7, false));
tabellaDati.Colonne.Add(new Colonna("NUMEROQUOTE", "Numero Quote", 60, TipoAllineamento.DESTRA, false, 7, false));
tabellaDati.Colonne.Add(new Colonna("CONTROVALORE", "Controvalore (€)", 90, TipoAllineamento.DESTRA, false, 7, false));
tabellaDati.Colonne.Add(new Colonna("DATARIF", "Data di riferimento", 70, TipoAllineamento.DESTRA, false, 7, false));
tabellaDati.Draw(new DatiTabella(TabellaCapitaleProtetto(riga)), document);
document.setLastPos(tabellaDati.AltezzaTabella - 15);
}
string nota = dataThread.SezioneReport.Nota;
nota = nota.Replace("$/QMaxPerc/$", set.Protetti.Rows[0]["QUOTA_MAX_PERC"].ToString());
document.setChapterHeader(nota, 0, 520, 7);
}
private DataTable TabellaBonus(DataRow riga)
{
DataTable dt = new DataTable();
dt.Columns.Add("DESCRIZIONE");
dt.Columns.Add("CTV");
dt.Columns.Add("DATARIF");
DataRow dr = dt.NewRow();
dr["DESCRIZIONE"] = riga["DES_PROD"];
dr["CTV"] = riga["CTV"];
dr["DATARIF"] = riga["DT_TRIM"];
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["DESCRIZIONE"] = riga["DESBONUS_M"];
dr["CTV"] = riga["BONUS_M"];
dr["DATARIF"] = riga["DTDEC_M"];
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["DESCRIZIONE"] = riga["DESBONUS_5"];
dr["CTV"] = riga["BONUS_5"];
dr["DATARIF"] = riga["DTDEC_5"];
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["DESCRIZIONE"] = riga["DESBONUS_10"];
dr["CTV"] = riga["BONUS_10"];
dr["DATARIF"] = riga["DTDEC_10"];
dt.Rows.Add(dr);
return dt;
}
private DataTable TabellaCapitaleProtetto(DataRow riga)
{
DataTable dt = new DataTable();
dt.Columns.Add("DESCRIZIONE");
dt.Columns.Add("QUOTA");
dt.Columns.Add("NUMEROQUOTE");
dt.Columns.Add("CONTROVALORE");
dt.Columns.Add("DATARIF");
DataRow dr = dt.NewRow();
#region FOI80
//E-FOI80 dr["DESCRIZIONE"] = riga["DES_PROD"] + " " + riga["COD_CONF"];
dr["DESCRIZIONE"] = riga["DES_PROD"];
#endregion
dr["QUOTA"] = riga["QUOTA"];
dr["NUMEROQUOTE"] = riga["NUMEROQUOTE"];
dr["CONTROVALORE"] = riga["CONTROVALORE"];
dr["DATARIF"] = riga["DATARIF"];
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["DESCRIZIONE"] = riga["DES_MAX"];
dr["QUOTA"] = riga["QUOTA_MAX"];
dr["NUMEROQUOTE"] = "-";
dr["CONTROVALORE"] = "-";
dr["DATARIF"] = riga["DATARIF_MAX"];
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["DESCRIZIONE"] = riga["DES_PROT"];
dr["QUOTA"] = riga["QUOTA_PROT"];
dr["NUMEROQUOTE"] = riga["NUMEROQUOTE_PROT"];
dr["CONTROVALORE"] = riga["CONTROVALORE_PROT"];
dr["DATARIF"] = "-";
dt.Rows.Add(dr);
return dt;
}
#region NUOVA GESTIONE FOI80 - 24/11/2015 - E_FOI80
private void FonditaliaCrescitaProtetta80(DataThread dataThread)
{
DocumentPDF document = dataThread.DocumentPDF;
DataSetS174 set = (DataSetS174)dataThread.Data.DatiSezione;
float htestosotto = 0;
for (int r = 0; r < set.FOI80.Rows.Count; r++)
{
Tabella tabellaDati = new Tabella();
tabellaDati.HeaderFont = 8;
DataRow riga = set.FOI80.Rows[r];
if (r == set.FOI80.Rows.Count - 1) htestosotto = 100;
if (document.checkMargin((tabellaDati.AltezzaCella * 4) + htestosotto))
document.addPage();
tabellaDati.Header = true;
tabellaDati.Y = document.getLastPos();
tabellaDati.X = document.getMargineLeft();
tabellaDati.Colonne.Add(new Colonna("DESCRIZIONE", "Contratto " + riga["CODCONF"], 232, TipoAllineamento.SINISTRA, false, 7, false));
tabellaDati.Colonne.Add(new Colonna("QUOTA", "Quota (€)", 60, TipoAllineamento.DESTRA, false, 7, false));
tabellaDati.Colonne.Add(new Colonna("NUMEROQUOTE", "Numero Quote", 60, TipoAllineamento.DESTRA, false, 7, false));
tabellaDati.Colonne.Add(new Colonna("CONTROVALORE", "Controvalore (€)", 90, TipoAllineamento.DESTRA, false, 7, false));
tabellaDati.Colonne.Add(new Colonna("DATARIF", "Data di riferimento", 70, TipoAllineamento.DESTRA, false, 7, false));
tabellaDati.Draw(new DatiTabella(TabellaFOI80(riga)), document);
document.setLastPos(tabellaDati.AltezzaTabella - 15);
}
string nota = dataThread.SezioneReport.Nota;
nota = nota.Replace("$/QMaxPerc/$", set.FOI80.Rows[0]["QUOTA_MAX_PERC"].ToString());
document.setChapterHeader(nota, 0, 520, 7);
}
private DataTable TabellaFOI80(DataRow riga)
{
DataTable dt = new DataTable();
dt.Columns.Add("DESCRIZIONE");
dt.Columns.Add("QUOTA");
dt.Columns.Add("NUMEROQUOTE");
dt.Columns.Add("CONTROVALORE");
dt.Columns.Add("DATARIF");
DataRow dr = dt.NewRow();
//dr["DESCRIZIONE"] = riga["DESPROD"] + " " + riga["CODCONF"];
dr["DESCRIZIONE"] = riga["DESPROD"];
dr["QUOTA"] = riga["PREZZO"];
dr["NUMEROQUOTE"] = riga["QUOTE"];
dr["CONTROVALORE"] = riga["CTV"];
dr["DATARIF"] = riga["DTRIFE"];
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["DESCRIZIONE"] = riga["DESMAX"];
dr["QUOTA"] = riga["PREZZOMAX"];
dr["NUMEROQUOTE"] = "-";
dr["CONTROVALORE"] = "-";
dr["DATARIF"] = riga["DTPREZZOMAX"];
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["DESCRIZIONE"] = riga["DESPROT"];
dr["QUOTA"] = riga["PREZZOPROT"];
dr["NUMEROQUOTE"] = riga["QUOTE"];
dr["CONTROVALORE"] = riga["CTRVIMPPROT"];
dr["DATARIF"] = "-";
dt.Rows.Add(dr);
return dt;
}
#endregion
}
}