using System; using System.Collections.Generic; using System.Text; using ceTe.DynamicPDF.Merger; using PDFGenerator.BusinessLayer.DataSection; using PDFGenerator.Presentation.Section.Tables; using PDFGenerator.BusinessLayer; namespace PDFGenerator.Presentation.Section { class S88 : ISezione { string Titolo = " "; string _testointroduttivo; /// /// Imposta o recupera il testo introduttivo della sezione. /// public string TestoIntroduttivo { get { return _testointroduttivo; } set { _testointroduttivo = value; } } private bool _stampaAreaProgetto; /// /// Indica se stampare o no la colonna AreaProgetto /// public bool StampaAreaProgetto { get { return _stampaAreaProgetto; } set { _stampaAreaProgetto = value; } } public void writeSezione(DataThread dataThread) { DocumentPDF document = dataThread.DocumentPDF; DatiTabella datitab = new DatiTabella(); DataSetS88 set = (DataSetS88)dataThread.Data.DatiSezione; datitab.table = set.Tables["DatiTabella"]; int fontTab = 7; int fontTabTotale = 8; //calcola se entra nella pagina altrimenti aggiunge una nuova pagina. Minima altezza 3 righe if (document.checkMargin(datitab.GetRowDim() * 3)) document.addPage(); document.setSezTitolo(Titolo); document.setChapterHeader(_testointroduttivo, 0, 520, 8); Tabella tab = new Tabella(document.getMargineLeft(), document.getLastPos()); tab.HeaderFont = 8; tab.Header = true; tab.Datasource = datitab.table; if (_stampaAreaProgetto) { tab.Colonne.Add(new Colonna("DataSottoscrizione", "Data sott.", 60, TipoAllineamento.SINISTRA, false, fontTab, false)); tab.Colonne.Add(new Colonna("Contratto", "Contratto/
Dossier", 90, TipoAllineamento.SINISTRA, false, fontTab, false)); tab.Colonne.Add(new Colonna("Descrizione", "Descrizione", 187, TipoAllineamento.SINISTRA, false, fontTab, false)); tab.Colonne.Add(new Colonna("", " ", 5, TipoAllineamento.SINISTRA, false, fontTab, false)); tab.Colonne.Add(new Colonna("AreaProgetto", "Area/
Progetto", 90, TipoAllineamento.SINISTRA, false, fontTab, false)); tab.Colonne.Add(new Colonna("Controvalore", "Controvalore
€", 80, TipoAllineamento.DESTRA, false, fontTab, false)); //tab.Colonne.Add(new Colonna("", "", 80, TipoAllineamento.CENTRATO, false, 7, false)); } else { tab.Colonne.Add(new Colonna("DataSottoscrizione", "Data sott.", 60, TipoAllineamento.SINISTRA, false, fontTab, false)); tab.Colonne.Add(new Colonna("Contratto", "Contratto/
Dossier", 90, TipoAllineamento.SINISTRA, false, fontTab, false)); tab.Colonne.Add(new Colonna("Descrizione", "Descrizione", 277, TipoAllineamento.SINISTRA, false, fontTab, false)); tab.Colonne.Add(new Colonna("", " ", 5, TipoAllineamento.SINISTRA, false, 7, false)); tab.Colonne.Add(new Colonna("Controvalore", "Controvalore
€", 80, TipoAllineamento.DESTRA, false, fontTab, false)); //tab.Colonne.Add(new Colonna("", "", 80, TipoAllineamento.CENTRATO, false, 7, false)); } // document.setSezTitolo(Titolo); // titolo della sezione //Sperimentale //Footer tabFooter = new Footer(set.Tables["Totale"], "Descrizione", "Valore"); //tabFooter.NomeColonne["Descrizione"]. //tab.Footer = tabFooter; //--Sperimentale tab.Draw(datitab, document); // TOTALE della TABELLA datitab = new DatiTabella(); datitab.table = set.Tables["Totale"]; Tabella tabTotali = new Tabella(document.getMargineLeft(), document.getLastPos() + tab.AltezzaTabella + 25); tabTotali.HeaderFont = 8; tabTotali.SaltoPagina = false; tabTotali.Header = false; tabTotali.Colonne.Add(new Colonna("Descrizione", "", 432, TipoAllineamento.SINISTRA, true, fontTabTotale, true)); tabTotali.Colonne.Add(new Colonna("Valore", "", 80, TipoAllineamento.DESTRA, true, fontTabTotale, true)); tabTotali.Draw(datitab, document); float dim = tabTotali.AltezzaTabella + tab.AltezzaTabella; //tab.AddNotaPartiteViaggianti(dim, document); ///// setto la posizione aggiornata document.setLastPos(dim + 5); } public void setTitolo(string label) { Titolo = label; } } }