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;


namespace PDFGenerator.Presentation.Section
{
    public class S155 : ISezione
    {

        public S155()
        {
            //
            // TODO: Add constructor logic here
            //
        }

        #region ISezione Members

        public void writeSezione(DataThread dataThread)
        {
            DocumentPDF document = dataThread.DocumentPDF;

            //aggiorna l'indice
            //if (dataThread.TipoReport.ToUpper() == "DIAGNOSI")
            //    document.setSezTitoloDiagnosi(dataThread.SezioneReport.Titolo);
            //else
            document.setSezTitolo(dataThread.SezioneReport.Titolo);
            document.setChapterHeader(dataThread.SezioneReport.TestoIntroduttivo, 0, 520, 8);
            //document.setChapterHeader("Di seguito viene fornito il dettaglio delle sue proprietà immobiliari.", 0, 520, 8);
            //document.setSezHeader("Di seguito viene fornito il dettaglio delle sue proprietà immobiliari.");
            document.setHeaderSpace(5);

            DatiTabella datitab = new DatiTabella();
            Tabella tab = new Tabella(document.getMargineLeft(), document.getLastPos());
            if (dataThread.TipoReport.ToUpper() == "DIAGNOSI") tab.HeaderFont = 8;
            tab.Header = true;
            tab.Datasource = datitab.table;

            DataSetS155 set = (DataSetS155)dataThread.Data.DatiSezione;
            datitab.table = set.Tables["Patrimonio"];

            datitab.setY(document.getLastPos());
            datitab.setIsLinee(1);

            tab.Colonne.Add(new Colonna("Descrizione", "Descrizione", 200, TipoAllineamento.SINISTRA, false, 9, false));
            //tabellaDati.Colonne.Add(new Colonna("Tipologia", "Tipologia", 100, TipoAllineamento.SINISTRA, false, 7, false));
            tab.Colonne.Add(new Colonna("Localita", "Località", 132, TipoAllineamento.SINISTRA, false, 9, false));
            tab.Colonne.Add(new Colonna("Affitti", "Affitto annuo<br>percepito (€)", 86, TipoAllineamento.DESTRA, false, 9, false));
            //7 spazi per allineare il simbolo dell'euro al centro
            tab.Colonne.Add(new Colonna("Valore", "Valore Stimato<br>(€)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;", 92, TipoAllineamento.DESTRA, false, 9, false));

            datitab.setCellSpace(0);

            //setta posizione tabella
            tab.Draw(datitab, document);

            float dim = datitab.GetRowDim() * (datitab.getNumRow() + 1);

            #region Tabella Totale
            datitab = new DatiTabella();

            Tabella tabellaTotale = new Tabella(document.getMargineLeft(), document.getLastPos() + tab.AltezzaTabella + 30);
            if (dataThread.TipoReport.ToUpper() == "DIAGNOSI") tabellaTotale.HeaderFont = 8;
            tabellaTotale.SaltoPagina = false;
            tabellaTotale.Header = false;
            tabellaTotale.Datasource = set.Tables["TotalePatrimonio"];
            datitab.table = set.Tables["TotalePatrimonio"];

            tabellaTotale.Colonne.Add(new Colonna("Descrizione", "", 332, TipoAllineamento.SINISTRA, true, 9, true));
            tabellaTotale.Colonne.Add(new Colonna("TotaleAffitto", "", 86, TipoAllineamento.DESTRA, true, 9, true));
            tabellaTotale.Colonne.Add(new Colonna("Valore", "", 92, TipoAllineamento.DESTRA, true, 9, true));

            tabellaTotale.Draw(datitab, document);

            #endregion

            ///// setto la posizione aggiornata
            document.setLastPos(datitab.GetRowDim() + dim);

        }

        #endregion
    }
}