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"] + "
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 } }