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("", " ", 5, TipoAllineamento.SINISTRA, false, fontTab, false));
tab.Colonne.Add(new Colonna("Descrizione", "Descrizione", 187, 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("", " ", 5, TipoAllineamento.SINISTRA, false, 7, false));
tab.Colonne.Add(new Colonna("Descrizione", "Descrizione", 277, 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));
}
// 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;
}
}
}