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

323 lines
13 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 S173 : ISezione
{
#region ISezione Members
public void writeSezione(DataThread dataThread)
{
DocumentPDF document = dataThread.DocumentPDF;
DataSetS173 set = (DataSetS173)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.TipoProdotto.Rows[0]["TipoProdotto"].Equals("1"))
{
if (set.Protetti.Rows.Count > 0)
{
if (document.checkMargin(100))
document.addPage();
#region E_FOI80
/* Commento le linee sottostanti perché la scritta non vogliamo far uscire la scritta generica
"Dettaglio prodotti" ma il nome del prodotto
*/
//E_FOI80 if (set.Bonus.Rows.Count > 0) {
//E_FOI80 document.setChapterHeader("");
//E_FOI80 document.setSezTitoloWithoutNumber("Dettaglio prodotti");
//E_FOI80 }
//document.setChapterHeader("");
//document.setSezTitoloWithoutNumber(set.Protetti.Rows[0]["DES_PROD_TIT"].ToString());
#endregion
//string testo = dataThread.SezioneReport.TestoIntroduttivoAlternativo;
string testo = dataThread.SezioneReport.TestoIntroduttivo;
#region E_FOI80
//E_FOI80 testo = testo.Replace("$/Prodotto/$", set.Protetti.Rows[0]["DES_PROD"].ToString());
testo = testo.Replace("$/Prodotto/$", set.Protetti.Rows[0]["DES_PROD_TIT"].ToString());
testo = testo.Replace("$/QMaxPerc/$", set.Protetti.Rows[0]["QUOTA_MAX_PERC"].ToString());
document.setChapterHeader(testo, 0, 520, 8);
CapitaleProtetto(dataThread);
}
}
#endregion
#region NUOVA GESTIONE FOI80 - 24/11/2015 - E_FOI80
if (set.TipoProdotto.Rows[0]["TipoProdotto"].Equals("2"))
{
if (set.FOI80.Rows.Count > 0)
{
if ((set.Protetti.Rows.Count == 1) && (set.FOI80.Rows.Count > 0))
{
if (document.checkMargin(105)) //abbiamo aumentato da 100 a 105 per far andare a pagina nuova
document.addPage();
}
//document.setSezTitoloWithoutNumber(set.FOI80.Rows[0]["DESPRODTIT"].ToString());
string testo = dataThread.SezioneReport.TestoIntroduttivo;
testo = testo.Replace("$/Prodotto/$", set.FOI80.Rows[0]["DESPRODTIT"].ToString());
testo = testo.Replace("$/QMaxPerc/$", set.FOI80.Rows[0]["QUOTA_MAX_PERC"].ToString());
document.setChapterHeader(testo, 0, 520, 8);
FonditaliaCrescitaProtetta80(dataThread);
}
}
#endregion
}
#endregion
private void Bonus(DataThread dataThread)
{
DocumentPDF document = dataThread.DocumentPDF;
DataSetS137 set = (DataSetS137)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", "Descrizione", 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;
DataSetS173 set = (DataSetS173)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"] + " " + riga["COD_CONF"];
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;
DataSetS173 set = (DataSetS173)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
}
}