using System;
using System.Linq;
using Consulenza.ReportWriter.Business;
using Consulenza.ReportWriter.Business.OBJ_PDF;
using ceTe.DynamicPDF;
using System.Data;
using Consulenza.ReportCommon;
using System.Collections.Generic;
using Consulenza.ExternalServices;
using Consulenza.ReportWriter.Manager.Integration;

namespace Consulenza.ReportWriter.Manager.Section.Immobiliare.MappaturaPreliminare
{
    /// <summary>
    /// Scheda di dettaglio dell’abitazione (id 136)
    /// </summary>
    public class S7 : Entity.Section
    {
        private bool _assenzaTipologiaDiritto;
        private bool _assenzaQuotaDiritto;


        public S7(EnvironmentFacade environmentFacade, int idSection)
            : base(environmentFacade, idSection)
        {
            try
            {
                Draw();
            }
            catch (Exception ex)
            {
                SectionLogger.Write("S7", ex.Message, SectionLoggerMessageLevel.E, EnvironmentFacade.ReportEnvironment);
            }
        }

        public S7(EnvironmentFacade environmentFacade, int idSection, IntegrationLayout integrationlayout)
            : base(environmentFacade, idSection)
        {
            try
            {
                IntegrationLayout = integrationlayout;
                Draw();
            }
            catch (Exception ex)
            {
                SectionLogger.Write("S7", ex.Message, SectionLoggerMessageLevel.E, EnvironmentFacade.ReportEnvironment);
            }
        }

        /// <summary>
        /// Scheda7. Scheda di stima parametrica del valore (Dettaglio dei dati sintetici, localizzazione geografica e stima del valore delle abitazioni selezionate) --> DUPLICATO PER OGNI IMMOBILE
        /// </summary>
        protected override sealed void Draw()
        {
            var dati = GetDataSet();            

            if (dati == null) return;

            var integrationlayout = ((DuplicazioneIdImmobileCatasto)IntegrationLayout);
            const string nd = "n.d.";

            #region SottoTitolo

            //sottoTitolo = provincia - indirizzo
            var comune = dati.Tables["DatiCatastali"].Select("Descrizione='Comune'").FirstOrDefault()["Valore"];
            var indirizzo = dati.Tables["DatiCatastali"].Select("Descrizione='Indirizzo'").FirstOrDefault()["Valore"];
            var tipologia = dati.Tables["DatiCatastali"].Select("Descrizione='Tipologia'").FirstOrDefault()["Valore"].ToString();
            if (tipologia.ToString().Substring(0,4) == "A/10")
                tipologia = "A10";
            else
            {
            if (tipologia.ToString().Substring(0,3) == "C/1")
                tipologia = "C1";
            else
                tipologia = "A";
            }

            var formattazione = "{0}";
            if (!string.IsNullOrEmpty(indirizzo.ToString()))
                formattazione = "{0} - {1}";

            var sottoTitolo = string.Format(formattazione, comune, indirizzo);
            AddElement(new FormattedTextAreaPDF(sottoTitolo, EnvironmentFacade.RendererFacade.XLeftLimit + 30, 500) { FontSize = 14 });

            #endregion

            #region Dati sintetici

            AddElement(new ResetterYPDF());
            AddElement(new SpacePDF(50));

            var icona = new ImagePDF(EnvironmentFacade.RendererFacade.XLeftLimit, 0.20F, "DatiSintetici.png") { AutoIncrementYWritable = false };
            var titolo = new FormattedTextAreaPDF("Dati sintetici", 82) {  FontBold = true,FontSize = 10, DeltaY = 3, FontColor = ColorPDF.Immobiliare_Grigio_TitoloGrande };

            #region Tabella

            var tabella = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit + 30, dati.Tables["DatiCatastali"])
            {
                Style = Style.Immobiliare,
                Footer = false,
                RowsPadding = 0,
                ShowBorderLastLine = true,
                HeaderHeight = 15
            };

            tabella.Columns.Add(new ColumnPDF("descrizione", 105, HorizontalAlignmentType.Sinistra, false, false, 8, ColumnType.Testo, "descrizione", "Dati catastali"));
            tabella.Columns.Add(new ColumnPDF("valore", 160, HorizontalAlignmentType.Sinistra, false, false, 8, ColumnType.Testo, "valore", ""));

            if (_assenzaTipologiaDiritto)
            {
                tabella.Cells[1, 9].Value = nd;
                tabella.Cells[1, 9].FontColor = new ColorPDF(255, 0, 0); // ROSSO
            }
            if (_assenzaQuotaDiritto)
            {
                tabella.Cells[1, 10].Value = nd;
                tabella.Cells[1, 10].FontColor = new ColorPDF(255, 0, 0); // ROSSO
            }

            #endregion

            AddElement(icona);
            AddElement(titolo);
            AddElement(new SpacePDF(15));
            AddElement(tabella);

            #endregion

            #region Localizzazione geografica

            var xLocalizzazioneGeografica = EnvironmentFacade.RendererFacade.XLeftLimit + 300;

            AddElement(new ResetterYPDF());
            AddElement(new SpacePDF(50));

            icona = new ImagePDF(xLocalizzazioneGeografica, 0.20F, "LocGeografica.png") { AutoIncrementYWritable = false };
            titolo = new FormattedTextAreaPDF("Localizzazione geografica", xLocalizzazioneGeografica + 30) { FontBold = true, FontSize = 10, DeltaY = 3, FontColor = ColorPDF.Immobiliare_Grigio_TitoloGrande };

            AddElement(icona);
            AddElement(titolo);

            AddElement(new SpacePDF(30));
            ImagePDF cartina1 = null;
            ImagePDF cartina2 = null;

            try
            {

                cartina1 = new ImagePDF(xLocalizzazioneGeografica + 30, new Prometeia().GetImageFromValidator(
                   integrationlayout.IdImmobileCatasto,
                   EnvironmentFacade.ReportEnvironment.Cliente.Tipo == ClienteType.Fisico ? EnvironmentFacade.ReportEnvironment.Cliente.CodiceFiscale : EnvironmentFacade.ReportEnvironment.Cliente.PartitaIva,
                   EnvironmentFacade.ReportEnvironment.PrivateBanker.Codice, 1), 130, 205, 120) { AutoIncrementYWritable = false };

            }
            catch (Exception ex)
            {

                var cartinar = new RectanglePDF(xLocalizzazioneGeografica + 30, 120, 130, 205, ColorPDF.Bianco) { AutoIncrementYWritable = false };
                AddElement(cartinar);
            }
            try
            {
                cartina2 = new ImagePDF(xLocalizzazioneGeografica + 30 + 210, new Prometeia().GetImageFromValidator(
                       integrationlayout.IdImmobileCatasto,
                       EnvironmentFacade.ReportEnvironment.Cliente.Tipo == ClienteType.Fisico ? EnvironmentFacade.ReportEnvironment.Cliente.CodiceFiscale : EnvironmentFacade.ReportEnvironment.Cliente.PartitaIva,
                       EnvironmentFacade.ReportEnvironment.PrivateBanker.Codice, 2), 130, 205, 120) { AutoIncrementYWritable = true };
                //AddElement(cartina1);
                //AddElement(cartina2);
            }
            catch (Exception ex)
            {

                //  var cartinar = new RectanglePDF(xLocalizzazioneGeografica + 30, 120, 130, 205, ColorPDF.Bianco) { AutoIncrementYWritable = false };
                var cartinar2 = new RectanglePDF(xLocalizzazioneGeografica + 30 + 210, 120, 130, 205, ColorPDF.Bianco) { AutoIncrementYWritable = true };

                AddElement(cartinar2);
                //throw new Exception(ex.Message);
            }

            // Adeguata a Diagnosi 20181128 ES
            //try
            //{

            //    cartina1 = new ImagePDF(xLocalizzazioneGeografica + 30, new Prometeia().GetImageFromValidator(
            //       integrationlayout.IdImmobileCatasto,
            //       EnvironmentFacade.ReportEnvironment.Cliente.Tipo == ClienteType.Fisico ? EnvironmentFacade.ReportEnvironment.Cliente.CodiceFiscale : EnvironmentFacade.ReportEnvironment.Cliente.PartitaIva,
            //       EnvironmentFacade.ReportEnvironment.PrivateBanker.Codice, 1), 130, 205, 120) { AutoIncrementYWritable = false };

            //    cartina2 = new ImagePDF(xLocalizzazioneGeografica + 30 + 210, new Prometeia().GetImageFromValidator(
            //      integrationlayout.IdImmobileCatasto,
            //      EnvironmentFacade.ReportEnvironment.Cliente.Tipo == ClienteType.Fisico ? EnvironmentFacade.ReportEnvironment.Cliente.CodiceFiscale : EnvironmentFacade.ReportEnvironment.Cliente.PartitaIva,
            //      EnvironmentFacade.ReportEnvironment.PrivateBanker.Codice, 2), 130, 205, 120) { AutoIncrementYWritable = true };
            //    //AddElement(cartina1);
            //    //AddElement(cartina2);
            //}
            //catch (Exception ex)
            //{

            //    var cartinar = new RectanglePDF(xLocalizzazioneGeografica + 30, 120, 130, 205, ColorPDF.Bianco) { AutoIncrementYWritable = false };
            //    var cartinar2 = new RectanglePDF(xLocalizzazioneGeografica + 30 + 210, 120, 130, 205, ColorPDF.Bianco) { AutoIncrementYWritable = true };
            //    AddElement(cartinar);
            //    AddElement(cartinar2);
            //    throw new Exception(ex.Message);
            //}
            finally
            {
                if (cartina1 != null)
                    AddElement(cartina1);
                if (cartina2 != null)
                    AddElement(cartina2);
            }

            #endregion

           
            #region Linea orizzontale

            var lineaOrizzonataleSeparazione = new LinePDF(EnvironmentFacade.RendererFacade.XLeftLimit, EnvironmentFacade.RendererFacade.XRightLimit, 1F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo);

            AddElement(new SpacePDF(7));
            AddElement(lineaOrizzonataleSeparazione);
            AddElement(new SpacePDF(5));
            #endregion

            //---------------------------------//
          #region Caratteristiche immobile checkbox PB
            var icona2 = new ImagePDF(EnvironmentFacade.RendererFacade.XLeftLimit, 0.20F, "StimaValoreVuoto.png") { AutoIncrementYWritable = false };
            var titolocaratteristiche = new FormattedTextAreaPDF("Completare indicando le caratteristiche specifiche dell’immobile tra le opzioni disponibili", 82) { FontBold = true, FontSize = 10, DeltaY = 3, FontColor = ColorPDF.Immobiliare_Grigio_TitoloGrande };
            AddElement(icona2);
            AddElement(titolocaratteristiche);
            AddElement(new SpacePDF(10));

            switch (tipologia)
            {
                case "C1":
                    #region negozi e botteghe

                    #region finalità
                    var finalita = new FormattedTextAreaPDF("Finalità", 82) { FontSize = 8,  FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold=true };
                    AddElement(finalita);
                    AddElement(new SpacePDF(3));
                    AddElement(new RectanglePDF(82, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });

                    var usoabitativo = new FormattedTextAreaPDF("<i>Uso abitativo<i>", 100) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(usoabitativo);

                    AddElement(new RectanglePDF(170, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var usostrumentale = new FormattedTextAreaPDF("<i>Strumentale<i>", 188) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(usostrumentale);
                    AddElement(new RectanglePDF(255, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var usoinvestimento = new FormattedTextAreaPDF("<i>Investimento<i>", 273) { FontSize = 8,FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(usoinvestimento);
                    #endregion
           
                    #region Linea verticale

                    var xLinea = usoinvestimento.X + 85;
                    var y1Linea = EnvironmentFacade.RendererFacade.YUpperLimit + 255;
                    var y2Linea =  y1Linea + 200;

                    var lineaVerticaleSeparazione = new LinePDF(xLinea, y1Linea, xLinea, y2Linea, 0.5F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo) { AutoIncrementYWritable = false };
            

                    #endregion
           
                    #region Linea orizzontale
                    var lineaOrizzonataleSeparazioneFinalita = new LinePDF(82, xLinea - 20, 0.5F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo);
                    #endregion
         
                    AddElement(new SpacePDF(10));
                    AddElement(lineaOrizzonataleSeparazioneFinalita);
                    AddElement(new SpacePDF(3));

                    #region superficie
                    var superficie = new FormattedTextAreaPDF("Superficie (mq)", 82) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(superficie);
                    AddElement(new SpacePDF(3));
                    AddElement(new RectanglePDF(82, 11, 50, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo });
                    #endregion
                    AddElement(new SpacePDF(10));
                    AddElement(lineaOrizzonataleSeparazioneFinalita);
                    AddElement(new SpacePDF(112));
                    //AddElement(new FormattedTextAreaPDF("(*) Compilare se la finalità dell’immobile è “Investimento”", 82));


                    AddElement(new ResetterYPDF(EnvironmentFacade.RendererFacade.YUpperLimit + 257));
                    AddElement(lineaVerticaleSeparazione);

                    #region livelli piani
                    var livellipiani = new FormattedTextAreaPDF("Livelli/Piani", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(livellipiani);
                    AddElement(new SpacePDF(3));
                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var unico = new FormattedTextAreaPDF("<i>Unico<i>", 388) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(unico);
                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var duelivelli = new FormattedTextAreaPDF("<i>Due Livelli<i>", 476) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(duelivelli);
                    AddElement(new RectanglePDF(546, 11, 11, ColorPDF.Bianco) {BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var piulivelli = new FormattedTextAreaPDF("<i>Più di due livelli<i>", 564) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(piulivelli);

                    #endregion

                    #region esposizione su strada
                    AddElement(new SpacePDF(5));
                    var esposizione = new FormattedTextAreaPDF("Esposizione su strada", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(esposizione);
                    AddElement(new SpacePDF(3));

                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) {BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var molto = new FormattedTextAreaPDF("<i>Molto favorevole<i>", 388) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(molto);

                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var favorevole = new FormattedTextAreaPDF("<i>Favorevole<i>", 476) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(favorevole);

                    AddElement(new RectanglePDF(546, 11, 11, ColorPDF.Bianco) {BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var ordinaria = new FormattedTextAreaPDF("<i>Ordinaria<i>", 564) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(ordinaria);

                    AddElement(new RectanglePDF(634, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var poco = new FormattedTextAreaPDF("<i>Poco favorevole<i>", 652) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(poco);

                    AddElement(new RectanglePDF(722, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var privo = new FormattedTextAreaPDF("<i>Privo di esposizione<i>", 740) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(privo);

                    #endregion

                    #region ampiezza spazi espositivi
                    AddElement(new SpacePDF(5));
                    var ampiezza = new FormattedTextAreaPDF("Ampiezza spazi espositivi", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(ampiezza);
                    AddElement(new SpacePDF(3));

                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) {BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var ottima = new FormattedTextAreaPDF("<i>Ottima<i>", 388) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(ottima);

                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var buona = new FormattedTextAreaPDF("<i>Buona<i>", 476) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(buona);

                    AddElement(new RectanglePDF(546, 11, 11, ColorPDF.Bianco) {BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var normale = new FormattedTextAreaPDF("<i>Normale<i>", 564) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(normale);

                    AddElement(new RectanglePDF(634, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var modesta = new FormattedTextAreaPDF("<i>Modesta<i>", 652) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(modesta);

                    #endregion

                    #region viabilita accessibilita
                    AddElement(new SpacePDF(5));
                    var viabilita = new FormattedTextAreaPDF("Viabilità/Accessibilità", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(viabilita);
                    AddElement(new SpacePDF(3));

                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var ottima1 = new FormattedTextAreaPDF("<i>Ottima<i>", 388) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(ottima1);

                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var buona1 = new FormattedTextAreaPDF("<i>Buona<i>", 476) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(buona1);

                    AddElement(new RectanglePDF(546, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var normale1 = new FormattedTextAreaPDF("<i>Normale<i>", 564) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(normale1);
                    #endregion


                    #region dimensione spazi interni
                    AddElement(new SpacePDF(4));
                    var dimensione = new FormattedTextAreaPDF("Dimensione spazi interni", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(dimensione);
                    AddElement(new SpacePDF(3));

                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) {BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var ottima_1 = new FormattedTextAreaPDF("<i>Ottima<i>", 388) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(ottima_1);

                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var buona_1 = new FormattedTextAreaPDF("<i>Buona<i>", 476) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(buona_1);

                    AddElement(new RectanglePDF(546, 11, 11, ColorPDF.Bianco) {BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var normale_1 = new FormattedTextAreaPDF("<i>Normale<i>", 564) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(normale_1);

                    AddElement(new RectanglePDF(634, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var modesta_1 = new FormattedTextAreaPDF("<i>Modesta<i>", 652) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(modesta_1);

                    #endregion

                    #region poli attrazione
                    AddElement(new SpacePDF(5));
                    var poliattrazione = new FormattedTextAreaPDF("Poli di attrazione", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(poliattrazione);
                    AddElement(new SpacePDF(3));
                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var presenti = new FormattedTextAreaPDF("<i>Presenti<i>", 388) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(presenti);
                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var assenti = new FormattedTextAreaPDF("<i>Assenti<i>", 476) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(assenti);
                    #endregion

                    #region stato locativo
                    AddElement(new SpacePDF(5));
                    var statolocativo = new FormattedTextAreaPDF("Stato locativo", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(statolocativo);
                    AddElement(new SpacePDF(3));
                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var libero = new FormattedTextAreaPDF("<i>Libero<i>", 388) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(libero);
                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var locato = new FormattedTextAreaPDF("<i>Locato<i>", 476) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(locato);
                    #endregion
  
                    #endregion

                    break;
                case "A10":
                    #region uffici e studi privati
                    #region finalità
                    var finalita_1 = new FormattedTextAreaPDF("Finalità", 82) { FontSize = 8,  FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold=true };
                    AddElement(finalita_1);
                    AddElement(new SpacePDF(3));
                    AddElement(new RectanglePDF(82, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });

                    var usoabitativo_1 = new FormattedTextAreaPDF("<i>Uso abitativo<i>", 100) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(usoabitativo_1);

                    AddElement(new RectanglePDF(170, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var usostrumentale_1 = new FormattedTextAreaPDF("<i>Strumentale<i>", 188) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(usostrumentale_1);
                    AddElement(new RectanglePDF(255, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var usoinvestimento_1 = new FormattedTextAreaPDF("<i>Investimento<i>", 273) { FontSize = 8,FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(usoinvestimento_1);
                    #endregion
           
                    #region Linea verticale

                    var xLinea_1 = usoinvestimento_1.X + 85;
                    var y1Linea_1 = EnvironmentFacade.RendererFacade.YUpperLimit + 255;
                    var y2Linea_1 =  y1Linea_1 + 200;

                    var lineaVerticaleSeparazione_1 = new LinePDF(xLinea_1, y1Linea_1, xLinea_1, y2Linea_1, 0.5F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo) { AutoIncrementYWritable = false };
            

                    #endregion
           
                    #region Linea orizzontale
                    var lineaOrizzonataleSeparazioneFinalita_1 = new LinePDF(82, xLinea_1 - 20, 0.5F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo);
                    #endregion
         
                    AddElement(new SpacePDF(10));
                    AddElement(lineaOrizzonataleSeparazioneFinalita_1);
                    AddElement(new SpacePDF(3));

                    #region superficie
                    var superficie_1 = new FormattedTextAreaPDF("Superficie (mq)", 82) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(superficie_1);
                    AddElement(new SpacePDF(3));
                    AddElement(new RectanglePDF(82, 11, 50, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo });
                    #endregion
                    AddElement(new SpacePDF(10));
                    AddElement(lineaOrizzonataleSeparazioneFinalita_1);
                    AddElement(new SpacePDF(112));
                    //AddElement(new FormattedTextAreaPDF("(*) Compilare se la finalità dell’immobile è “Investimento”", 82));


                    AddElement(new ResetterYPDF(EnvironmentFacade.RendererFacade.YUpperLimit + 257));
                    AddElement(lineaVerticaleSeparazione_1);

                    #region tipologia di ufficio
                    var tipoufficio = new FormattedTextAreaPDF("Tipologia di ufficio", 370) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(tipoufficio);
                    AddElement(new SpacePDF(3));
                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var strutturato = new FormattedTextAreaPDF("<i>Strutturato<i>", 388) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(strutturato);
                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var nostrutturato = new FormattedTextAreaPDF("<i>Non strutturato<i>", 476) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(nostrutturato);
                    #endregion

                    #region Luminosita
                    AddElement(new SpacePDF(5));
                    var luminosita = new FormattedTextAreaPDF("Luminosità", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(luminosita);
                    AddElement(new SpacePDF(3));

                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) {BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var ottima_2 = new FormattedTextAreaPDF("<i>Ottima<i>", 388) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(ottima_2);

                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var buona_2 = new FormattedTextAreaPDF("<i>Buona<i>", 476) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(buona_2);

                    AddElement(new RectanglePDF(546, 11, 11, ColorPDF.Bianco) {BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var normale_2 = new FormattedTextAreaPDF("<i>Normale<i>", 564) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(normale_2);

                    AddElement(new RectanglePDF(634, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var modesta_2 = new FormattedTextAreaPDF("<i>Modesta<i>", 652) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(modesta_2);

                    #endregion

                    #region parcheggio privato
                    AddElement(new SpacePDF(5));
                    var parcheggio = new FormattedTextAreaPDF("Parcheggio privato", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(parcheggio);
                    AddElement(new SpacePDF(3));
                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var presente = new FormattedTextAreaPDF("<i>Presente<i>", 388) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(presente);
                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var assente = new FormattedTextAreaPDF("<i>Assente<i>", 476) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(assente);
                    #endregion

                    #region esposizione edificio
                    AddElement(new SpacePDF(4));
                    var esposizione_1 = new FormattedTextAreaPDF("Esposizione a vista", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(esposizione_1);
                    AddElement(new SpacePDF(3));

                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var panorama = new FormattedTextAreaPDF("<i>Panoramica<i>", 388) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(panorama);

                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var esterna = new FormattedTextAreaPDF("<i>Esterna<i>", 476) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(esterna);

                    AddElement(new RectanglePDF(546, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var mista = new FormattedTextAreaPDF("<i>Mista<i>", 564) {  FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(mista);

                    AddElement(new RectanglePDF(634, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var interna = new FormattedTextAreaPDF("<i>Interna<i>", 652) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(interna);

                    #endregion
                   
                    #region efficienza energentica
                    AddElement(new SpacePDF(5));
                    var efficienza = new FormattedTextAreaPDF("Efficienza energentica", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(efficienza);
                    AddElement(new SpacePDF(3));

                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var elevata = new FormattedTextAreaPDF("<i>Elevata<i>", 388) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(elevata);

                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var Normale = new FormattedTextAreaPDF("<i>Normale<i>", 476) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(Normale);

                    AddElement(new RectanglePDF(546, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var bassa = new FormattedTextAreaPDF("<i>Bassa<i>", 564) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(bassa);
                    #endregion

                    #region stato locativo
                    AddElement(new SpacePDF(5));
                    var statolocativo_1 = new FormattedTextAreaPDF("Stato locativo", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(statolocativo_1);
                    AddElement(new SpacePDF(3));
                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var libero_1 = new FormattedTextAreaPDF("<i>Libero<i>", 388) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(libero_1);
                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var locato_1 = new FormattedTextAreaPDF("<i>Locato<i>", 476) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(locato_1);
                    #endregion


                    #endregion
                    
                    break;
                default:
                    #region tutte le abitazioni

                    #region finalità
                    var finalita_2 = new FormattedTextAreaPDF("Finalità", 82) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(finalita_2);
                    AddElement(new SpacePDF(3));
                    AddElement(new RectanglePDF(82, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });

                    var usoabitativo_2 = new FormattedTextAreaPDF("<i>Uso abitativo<i>", 100) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(usoabitativo_2);

                    AddElement(new RectanglePDF(170, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var usostrumentale_2 = new FormattedTextAreaPDF("<i>Strumentale<i>", 188) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(usostrumentale_2);
                    AddElement(new RectanglePDF(255, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var usoinvestimento_2 = new FormattedTextAreaPDF("<i>Investimento<i>", 273) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(usoinvestimento_2);
                    #endregion
           
                    #region Linea verticale

                    var xLinea_2 = usoinvestimento_2.X + 85;
                    var y1Linea_2 = EnvironmentFacade.RendererFacade.YUpperLimit + 255;
                    var y2Linea_2 = y1Linea_2 + 200;

                    var lineaVerticaleSeparazione_2 = new LinePDF(xLinea_2, y1Linea_2, xLinea_2, y2Linea_2, 0.5F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo) { AutoIncrementYWritable = false };
            

                    #endregion
           
                    #region Linea orizzontale
                    var lineaOrizzonataleSeparazioneFinalita_2 = new LinePDF(82, xLinea_2 - 20, 0.5F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo);
                    #endregion
         
                    AddElement(new SpacePDF(10));
                    AddElement(lineaOrizzonataleSeparazioneFinalita_2);
                    AddElement(new SpacePDF(3));

                    #region stato 
                    var stato_2 = new FormattedTextAreaPDF("Stato*", 82) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(stato_2);
                    AddElement(new SpacePDF(3));
                    AddElement(new RectanglePDF(82, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var libero_2 = new FormattedTextAreaPDF("<i>Libero<i>", 100) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(libero_2);
            
                    AddElement(new RectanglePDF(170, 11, 11, ColorPDF.Bianco) {BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var affittato_2 = new FormattedTextAreaPDF("<i>Affittato<i>", 188) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(affittato_2);
                    #endregion
          
                    AddElement(new SpacePDF(3));
                    #region rendita adeguata
                    var rendita_2 = new FormattedTextAreaPDF("Rendita adeguata*", 82) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(rendita_2);
                    AddElement(new SpacePDF(3));
                    AddElement(new RectanglePDF(82, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });

                    var Si_2 = new FormattedTextAreaPDF("<i>Si<i>", 100) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(Si_2);

                    AddElement(new RectanglePDF(170, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var No_2 = new FormattedTextAreaPDF("<i>No<i>", 188) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(No_2);
                    #endregion
            
                    AddElement(new SpacePDF(5));
                    #region pagamenti
                    var pagamenti_2 = new FormattedTextAreaPDF("Pagamenti regolari*", 82) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(pagamenti_2);
                    AddElement(new SpacePDF(3));
                    AddElement(new RectanglePDF(82, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    AddElement(Si_2);
                    AddElement(new RectanglePDF(170, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable=false});
                    AddElement(No_2);
                    #endregion
           
                    AddElement(new SpacePDF(10));
                    AddElement(lineaOrizzonataleSeparazioneFinalita_2);
                    AddElement(new SpacePDF(3));
                    #region piano e superficie
                    var piano_2 = new FormattedTextAreaPDF("Piano", 82) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true, AutoIncrementYWritable = false };
                    AddElement(piano_2);
                    var superficie_2 = new FormattedTextAreaPDF("Superficie (mq)", 200) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(superficie_2);
                    AddElement(new SpacePDF(3));
                    AddElement(new RectanglePDF(82, 11, 50, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable=false });

                    AddElement(new RectanglePDF(200, 11, 50, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo });
                    #endregion
                    AddElement(new SpacePDF(3));

                    #region ascensore
                    var ascensore_2 = new FormattedTextAreaPDF("Ascensore", 82) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(ascensore_2);
                    AddElement(new SpacePDF(3));
                    AddElement(new RectanglePDF(82, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });

                    AddElement(Si_2);

                    AddElement(new RectanglePDF(170, 11, 11, ColorPDF.Bianco) {BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    AddElement(No_2);
                    AddElement(new SpacePDF(9));
                    AddElement(new FormattedTextAreaPDF("(*) Compilare se la finalità dell’immobile è “Investimento”", 82));
                    #endregion
                    AddElement(new ResetterYPDF(EnvironmentFacade.RendererFacade.YUpperLimit + 255));
                    AddElement(lineaVerticaleSeparazione_2);

                    #region riscaldamento
                    var riscaldamento_2 = new FormattedTextAreaPDF("Riscaldamento", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(riscaldamento_2);
                    AddElement(new SpacePDF(3));
                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var centralizzato_2 = new FormattedTextAreaPDF("<i>Centralizzato<i>", 388) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(centralizzato_2);
                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var autonomo_2 = new FormattedTextAreaPDF("<i>Autonomo<i>", 476) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(autonomo_2);
                    #endregion

                    #region stato manutentivo
                    AddElement(new SpacePDF(4));
                    var statomanutentivo_2 = new FormattedTextAreaPDF("Stato manutentivo", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(statomanutentivo_2);
                    AddElement(new SpacePDF(3));

                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var ottimo_2 = new FormattedTextAreaPDF("<i>Ottimo<i>", 388) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(ottimo_2);

                    // Modifica ES 20181012 per Estero-Negozi-Uffici
                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var buono_2 = new FormattedTextAreaPDF("<i>Buono<i>", 476) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(buono_2);

                    AddElement(new RectanglePDF(546, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var Normale_2 = new FormattedTextAreaPDF("<i>Normale<i>", 564) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(Normale_2);

                    AddElement(new RectanglePDF(634, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var scadente_2 = new FormattedTextAreaPDF("<i>Scadente<i>", 652) {FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(scadente_2);

                    //AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    //var Normale_2 = new FormattedTextAreaPDF("<i>Normale<i>", 476) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    //AddElement(Normale_2);

                    //AddElement(new RectanglePDF(546, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    //var scadente_2 = new FormattedTextAreaPDF("<i>Scadente<i>", 564) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    //AddElement(scadente_2);

                    // Fine Evolutiva 


                    #endregion

                    #region sicurezza
                    AddElement(new SpacePDF(4));
                    var sicurezza_2 = new FormattedTextAreaPDF("Sicurezza", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(sicurezza_2);
                    AddElement(new SpacePDF(3));

                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var portierato_2 = new FormattedTextAreaPDF("<i>Portierato<i>", 388) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(portierato_2);

                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var vigilanza_2 = new FormattedTextAreaPDF("<i>Vigilanza<i>", 476) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(vigilanza_2);

                    AddElement(new RectanglePDF(546, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var portvigil_2 = new FormattedTextAreaPDF("<i>Portierato e vigilanza<i>", 564) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(portvigil_2);
                    #endregion

                    #region qualifica edificio
                    AddElement(new SpacePDF(4));
                    var qualifica_2 = new FormattedTextAreaPDF("Qualifica edificio", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(qualifica_2);
                    AddElement(new SpacePDF(3));

                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) {BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var lusso_2 = new FormattedTextAreaPDF("<i>Lussuoso<i>", 388) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(lusso_2);

                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var signorile_2 = new FormattedTextAreaPDF("<i>Signorile<i>", 476) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(signorile_2);

                    AddElement(new RectanglePDF(546, 11, 11, ColorPDF.Bianco) {BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var norma_2 = new FormattedTextAreaPDF("<i>Normale<i>", 564) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(norma_2);

                    AddElement(new RectanglePDF(634, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var eco_2 = new FormattedTextAreaPDF("<i>Economico<i>", 652) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(eco_2);

                    #endregion

                    #region esposizione edificio
                    AddElement(new SpacePDF(4));
                    var esposizione_2 = new FormattedTextAreaPDF("Esposizione a vista", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(esposizione_2);
                    AddElement(new SpacePDF(3));

                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var panorama_2 = new FormattedTextAreaPDF("<i>Panoramica<i>", 388) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(panorama_2);

                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var esterna_2 = new FormattedTextAreaPDF("<i>Esterna<i>", 476) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(esterna_2);

                    AddElement(new RectanglePDF(546, 11, 11, ColorPDF.Bianco) {  BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var mista_2 = new FormattedTextAreaPDF("<i>Mista<i>", 564) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    AddElement(mista_2);

                    AddElement(new RectanglePDF(634, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    var interna_2 = new FormattedTextAreaPDF("<i>Interna<i>", 652) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(interna_2);

                    #endregion

                    #region giardino
                    AddElement(new SpacePDF(4));
                    var giardino_2 = new FormattedTextAreaPDF("Giardino", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(giardino_2);
                    var SiDx_2 = new FormattedTextAreaPDF("<i>Si<i>", 388) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false, AutoIncrementYWritable = false };
                    var NoDx_2 = new FormattedTextAreaPDF("<i>No<i>", 476) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = false };
                    AddElement(new SpacePDF(3));
                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    AddElement(SiDx_2);
                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    AddElement(NoDx_2);
                    #endregion
            
                    #region terrazza
                    AddElement(new SpacePDF(4));
                    var terrazza_2 = new FormattedTextAreaPDF("Terrazza", 370) { FontSize = 8, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, FontBold = true };
                    AddElement(terrazza_2);
                    AddElement(new SpacePDF(3));
            
                    AddElement(new RectanglePDF(370, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    AddElement(SiDx_2);
                    AddElement(new RectanglePDF(458, 11, 11, ColorPDF.Bianco) { BorderWidth = 1, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, AutoIncrementYWritable = false });
                    AddElement(NoDx_2);

                    #endregion

                    #endregion

                    break;
            }


            
            

          #endregion
        }

        /// <summary>
        /// Recupera i dati necessari alla Section restituendo un DataTable.
        /// </summary>
        /// <returns></returns>
        protected sealed override DataTable GetDataTable()
        {
            return null;
        }

        /// <summary>
        /// Recupera i dati necessari alla Section restituendo un DataSet.
        /// </summary>
        /// <returns></returns>
        protected sealed override DataSet GetDataSet()
        {
            var integrationlayout = ((DuplicazioneIdImmobileCatasto)IntegrationLayout);
            DataSet dsResult = null;

            //#region Definizione dei parametri

            //var parametri = new List<Parametro>
            //{
            //    new Parametro
            //    {
            //        Direction = ParameterDirection.Input,
            //        DbType = DbType.Int64,
            //        ParameterName = "ChiaveClientePB",
            //        Value = EnvironmentFacade.ReportEnvironment.Cliente.Chiave
            //    },
            //    new Parametro
            //    {
            //        Direction = ParameterDirection.Input,
            //        DbType = DbType.AnsiString,
            //        ParameterName = "IdCatasto",
            //        Value = integrationlayout.IdImmobileCatasto
            //    }
            //};

            //#endregion

            //var dsOriginal = EnvironmentFacade.ReportEnvironment.MappaturaPreliminare.ImmobiliareCEUnica ? DataAccess.ExecuteDataSetStoredProcedure(DBProvider.SqlServerConsulenzaUnica, "REP_MappaturaPreliminare_S7_DettaglioAbitazione", parametri)
            //    : DataAccess.ExecuteDataSetStoredProcedure(DBProvider.SqlServerConsulenzaEvoluta, "REP_MappaturaPreliminare_S7_DettaglioAbitazione", parametri);
            //if (dsOriginal.Tables[0].Rows.Count == 0) return null;

            dsResult = new DataSet();

            var dsOriginal = IntegrationLayout.ReportDs;

            var dsTest1 = dsOriginal.Tables[0].AsEnumerable().Where(x => x.Field<string>("idImmobileCatasto") == integrationlayout.IdImmobileCatasto).ToList();
            var dsTest2 = dsOriginal.Tables[1].AsEnumerable().Where(x => x.Field<string>("idImmobileCatasto") == integrationlayout.IdImmobileCatasto).ToList();

            DataTable dsTab1 = new DataTable();
            dsTab1.TableName = "DatiCatastali";
            dsTab1.Columns.Add("Descrizione", typeof(string));
            //dsTab1.Columns.Add("idImmobileCatasto", typeof(string));
            dsTab1.Columns.Add("Provincia", typeof(string));
            dsTab1.Columns.Add("Comune", typeof(string));
            dsTab1.Columns.Add("Indirizzo", typeof(string));
            dsTab1.Columns.Add("Tipologia", typeof(string));
            dsTab1.Columns.Add("Foglio", typeof(string));
            dsTab1.Columns.Add("Particella", typeof(string));
            dsTab1.Columns.Add("Subalterno", typeof(string));
            dsTab1.Columns.Add("RenditaCatastale", typeof(string));
            dsTab1.Columns.Add("VaniCatastali", typeof(string));
            dsTab1.Columns.Add("TipologiaDiritto", typeof(string));
            dsTab1.Columns.Add("QuotaDiritto", typeof(decimal));


            DataTable dsTab2 = new DataTable();
            dsTab2.TableName = "Tipologia";
            dsTab2.Columns.Add("Descrizione", typeof(string));
            //dsTab2.Columns.Add("idImmobileCatasto", typeof(string));
            dsTab2.Columns.Add("ValoreMinimo", typeof(string));
            dsTab2.Columns.Add("ValoreMassimo", typeof(string));

            foreach (var item in dsTest1)
            {
                dsTab1.Rows.Add(item[0],item[2],item[3],item[4],item[5],item[6],item[7],item[8],item[9],item[10],item[11],item[12]);
            }
            foreach (var item in dsTest2)
            {
                dsTab2.Rows.Add(item[0], item[2], item[3]);
            }
           
            _assenzaTipologiaDiritto = dsTab1.AsEnumerable().All(r => r.Field<string>("TipologiaDiritto") == string.Empty);
            _assenzaQuotaDiritto = dsTab1.AsEnumerable().All(r => r.Field<decimal>("QuotaDiritto") < 0);

            #region DatiCatastali

            var quotaDiritto = string.Join(" / ", dsTab1.AsEnumerable()
                                 .Select(o => o.Field<decimal>("QuotaDiritto"))
                                 .Select(o => Helper.FormatPercentage(o, 2)));

            var tipologiaDiritto = String.Join(" / ", dsTab1.AsEnumerable().Select(o => o.Field<string>("TipologiaDiritto")));

            
            var dt1 = new DataTable { TableName = "DatiCatastali" };
            dt1.Columns.Add("Descrizione", typeof(string));
            dt1.Columns.Add("Valore", typeof(string));
            


            var dt2 = dsTab2;
            dt2.TableName = "Tipologia";
            var stimavalore = dt2.AsEnumerable()
                .FirstOrDefault(o => o.Field<string>("Descrizione") == dsTab1.Rows[0]["Tipologia"].ToString());

            dt1.Rows.Add("Provincia", dsTab1.Rows[0]["Provincia"].ToString());
            dt1.Rows.Add("Comune", dsTab1.Rows[0]["Comune"].ToString());
            dt1.Rows.Add("Indirizzo", dsTab1.Rows[0]["Indirizzo"].ToString());
            dt1.Rows.Add("Tipologia", dsTab1.Rows[0]["Tipologia"].ToString());
            dt1.Rows.Add("Foglio", dsTab1.Rows[0]["Foglio"].ToString());
            dt1.Rows.Add("Particella", dsTab1.Rows[0]["Particella"].ToString());
            dt1.Rows.Add("Subalterno", dsTab1.Rows[0]["Subalterno"].ToString());
            dt1.Rows.Add("Rendita Catastale", Helper.FormatCurrency(dsTab1.Rows[0]["RenditaCatastale"].ToString()));
            if (dsTab1.Rows[0]["VaniCatastali"].ToString() == "")
                dt1.Rows.Add("Nr. Vani catastali", "-");
            else
                dt1.Rows.Add("Nr. Vani catastali", dsTab1.Rows[0]["VaniCatastali"].ToString());

            dt1.Rows.Add("Tipologia di diritto", tipologiaDiritto);
            dt1.Rows.Add("Quota di diritto", quotaDiritto);
            dt1.Rows.Add("Stima valore (min-max)", Helper.FormatInteger(stimavalore["ValoreMinimo"].ToString())+" - "+Helper.FormatInteger(stimavalore["ValoreMassimo"].ToString()) + " (€/mq)");
            dsResult.Tables.Add(dt1);

            #endregion

            #region Tipologia

         
            #endregion


            return dsResult;
        }

        //protected sealed override DataSet GetDataSet()
        //{
        //    var integrationlayout = ((DuplicazioneIdImmobileCatasto)IntegrationLayout);
        //    DataSet dsResult = null;

        //    #region Definizione dei parametri

        //    var parametri = new List<Parametro>
        //    {
        //        new Parametro
        //        {
        //            Direction = ParameterDirection.Input,
        //            DbType = DbType.Int64,
        //            ParameterName = "ChiaveClientePB",
        //            Value = EnvironmentFacade.ReportEnvironment.Cliente.Chiave
        //        },
        //        new Parametro
        //        {
        //            Direction = ParameterDirection.Input,
        //            DbType = DbType.AnsiString,
        //            ParameterName = "IdCatasto",
        //            Value = integrationlayout.IdImmobileCatasto
        //        }
        //    };

        //    #endregion

        //    var dsOriginal = EnvironmentFacade.ReportEnvironment.MappaturaPreliminare.ImmobiliareCEUnica ? DataAccess.ExecuteDataSetStoredProcedure(DBProvider.SqlServerConsulenzaUnica, "REP_MappaturaPreliminare_S7_DettaglioAbitazione", parametri)
        //        : DataAccess.ExecuteDataSetStoredProcedure(DBProvider.SqlServerConsulenzaEvoluta, "REP_MappaturaPreliminare_S7_DettaglioAbitazione", parametri);
        //    if (dsOriginal.Tables[0].Rows.Count == 0) return null;

        //    dsResult = new DataSet();

        //    var dsOriginal = IntegrationLayout.ReportDs;

        //    _assenzaTipologiaDiritto = dsOriginal.Tables[0].AsEnumerable().All(r => r.Field<string>("TipologiaDiritto") == string.Empty);
        //    _assenzaQuotaDiritto = dsOriginal.Tables[0].AsEnumerable().All(r => r.Field<decimal>("QuotaDiritto") < 0);

        //    #region DatiCatastali

        //    var quotaDiritto = string.Join(" / ", dsOriginal.Tables[0].AsEnumerable()
        //                         .Select(o => o.Field<decimal>("QuotaDiritto"))
        //                         .Select(o => Helper.FormatPercentage(o, 2)));

        //    var tipologiaDiritto = String.Join(" / ", dsOriginal.Tables[0].AsEnumerable().Select(o => o.Field<string>("TipologiaDiritto")));


        //    var dt1 = new DataTable { TableName = "DatiCatastali" };
        //    dt1.Columns.Add("Descrizione", typeof(string));
        //    dt1.Columns.Add("Valore", typeof(string));

        //    var dt2 = dsOriginal.Tables[1];
        //    dt2.TableName = "Tipologia";
        //    var stimavalore = dt2.AsEnumerable()
        //        .FirstOrDefault(o => o.Field<string>("Descrizione") == dsOriginal.Tables[0].Rows[0]["Tipologia"].ToString());

        //    dt1.Rows.Add("Provincia", dsOriginal.Tables[0].Rows[0]["Provincia"].ToString());
        //    dt1.Rows.Add("Comune", dsOriginal.Tables[0].Rows[0]["Comune"].ToString());
        //    dt1.Rows.Add("Indirizzo", dsOriginal.Tables[0].Rows[0]["Indirizzo"].ToString());
        //    dt1.Rows.Add("Tipologia", dsOriginal.Tables[0].Rows[0]["Tipologia"].ToString());
        //    dt1.Rows.Add("Foglio", dsOriginal.Tables[0].Rows[0]["Foglio"].ToString());
        //    dt1.Rows.Add("Particella", dsOriginal.Tables[0].Rows[0]["Particella"].ToString());
        //    dt1.Rows.Add("Subalterno", dsOriginal.Tables[0].Rows[0]["Subalterno"].ToString());
        //    dt1.Rows.Add("Rendita Catastale", Helper.FormatCurrency(dsOriginal.Tables[0].Rows[0]["RenditaCatastale"].ToString()));
        //    dt1.Rows.Add("Nr. Vani catastali", dsOriginal.Tables[0].Rows[0]["VaniCatastali"].ToString());
        //    dt1.Rows.Add("Tipologia di diritto", tipologiaDiritto);
        //    dt1.Rows.Add("Quota di diritto", quotaDiritto);
        //    dt1.Rows.Add("Stima valore (min-max)", Helper.FormatInteger(stimavalore["ValoreMinimo"].ToString()) + " - " + Helper.FormatInteger(stimavalore["ValoreMassimo"].ToString()) + " (€/mq)");
        //    dsResult.Tables.Add(dt1);

        //    #endregion

        //    #region Tipologia


        //    #endregion


        //    return dsResult;
        //}

    }
}

