131 lines
5.0 KiB
C#
131 lines
5.0 KiB
C#
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;
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera il testo introduttivo della sezione.
|
|
/// </summary>
|
|
public string TestoIntroduttivo
|
|
{
|
|
get { return _testointroduttivo; }
|
|
set { _testointroduttivo = value; }
|
|
}
|
|
|
|
private bool _stampaAreaProgetto;
|
|
|
|
/// <summary>
|
|
/// Indica se stampare o no la colonna AreaProgetto
|
|
/// </summary>
|
|
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/<BR>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("<IMAGE>", " ", 5, TipoAllineamento.SINISTRA, false, fontTab, false));
|
|
tab.Colonne.Add(new Colonna("AreaProgetto", "Area/<BR>Progetto", 90, TipoAllineamento.SINISTRA, false, fontTab, false));
|
|
tab.Colonne.Add(new Colonna("Controvalore", "Controvalore<BR> €", 80, TipoAllineamento.DESTRA, false, fontTab, false));
|
|
//tab.Colonne.Add(new Colonna("<IMAGE>", "", 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/<BR>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("<IMAGE>", " ", 5, TipoAllineamento.SINISTRA, false, 7, false));
|
|
tab.Colonne.Add(new Colonna("Controvalore", "Controvalore<BR> €", 80, TipoAllineamento.DESTRA, false, fontTab, false));
|
|
//tab.Colonne.Add(new Colonna("<IMAGE>", "", 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;
|
|
}
|
|
|
|
}
|
|
}
|