Exemple #1
0
        public static string SendEmail(string Lingua,
            string ApiKey,
            int IDAgenzia,
            int IDImmobile,
            bool Cantiere,
            bool CantiereSoluzione,
            bool GenericInfo,
            string NomeCognome,
            string Email,
            string TelefonoUtente,
            string Messaggio,
            bool Privacy,
            string PrivacyUrl)
        {
            string r = "";
            CultureInfo cul = new CultureInfo("it-IT");
            Thread.CurrentThread.CurrentCulture = cul;
            try
            {
                SqlConnection connImmo01 = new SqlConnection(ConfigurationManager.ConnectionStrings["DBIMMO01ConnectionString"].ConnectionString);
                connImmo01.Open();
                using (connImmo01)
                {
                    Agenzia Ag = new Agenzia();
                    Ag.Load(connImmo01, IDAgenzia, ApiKey, Lingua);

                    if (!Ag.Error)
                    {
                        using (SqlCommand cmd = new SqlCommand())
                        {
                            cmd.CommandText = "[AgenzieSitiWeb_ParametriSmtp_Dettaglio]";
                            cmd.CommandType = CommandType.StoredProcedure;
                            cmd.Connection = connImmo01;
                            cmd.CommandTimeout = 600;
                            cmd.Parameters.Add("@ApiKey", SqlDbType.UniqueIdentifier).Value = new System.Data.SqlTypes.SqlGuid(ApiKey);
                            cmd.Parameters.Add("@IDAgenzia", SqlDbType.Int).Value = Ag.IDAgenzia;
                            var adapt = new SqlDataAdapter();
                            adapt.SelectCommand = cmd;
                            DataTable dTable = new DataTable();
                            adapt.Fill(dTable);
                            adapt.Dispose();
                            if (dTable.Rows.Count == 1)
                            {
                                DataRow dRow = dTable.Rows[0];
                                SitoWebAgenzia SWA = new SitoWebAgenzia();
                                SWA.IDAgenzia = (int)dRow["IDAgenzia"];
                                SWA.SmtpHost = (string)dRow["SmtpHost"];
                                SWA.SmtpUser = (string)dRow["SmtpUser"];
                                SWA.SmtpPort = (int)dRow["SmtpPort"];
                                SWA.SmtpPassword = (string)dRow["SmtpPassword"];
                                SWA.SmtpTo = (string)dRow["SmtpTo"];
                                SWA.SmtpFrom = (string)dRow["SmtpFrom"];
                                SWA.SmtpCC = (string)dRow["SmtpCC"];
                                SWA.SmtpAutenticazione = (bool)dRow["SmtpAutenticazione"];
                                SWA.SmtpSSL = (bool)dRow["SmtpSSL"];

                                if (SWA.SmtpHost != "")
                                {

                                    if (Ag.Logo1 != "")
                                    {
                                        Ag.Logo1 = string.Format(ConfigurationManager.AppSettings["percorsoLogo"], Ag.IDAgenzia.ToString(), Ag.Logo1);
                                    }

                                    SmtpClient SmtpServer1 = getSmtpServer(SWA);
                                    string urlFoto1 = "";
                                    string templateMsgUtente = "";
                                    string templateMsgAgenzia = "";

                                    if (!Cantiere && !CantiereSoluzione && !GenericInfo)
                                    {
                                        Annuncio Ann = new Annuncio();
                                        Ann.Load(connImmo01, IDImmobile, Lingua);
                                        urlFoto1 = Ann.UrlFoto1;
                                        templateMsgUtente = string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioUtente"],
                                            (Ag.Logo1 != "") ? string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioAgenziaLogoTag"], "cid:LogoAgenzia") : string.Empty,
                                            NomeCognome,
                                            string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioFotoAnnuncio"], "cid:FotoAnnuncio"),
                                            Ann.TipologiaContrattoComune,
                                            (Ann.Prezzo > 0) ? string.Format("{0:C}", Ann.Prezzo) : dicitura("ND", Lingua),
                                            (Ann.MQ > 0) ? string.Format("{0} MQ", Ann.MQ) : dicitura("ND", Lingua),
                                            (Ann.NrLocali > 0) ? string.Format("{0} {1}", Ann.NrLocali, dicitura("Locali", Lingua)) : dicitura("ND", Lingua),
                                            (Ann.Riferimento != "") ? Ann.Riferimento : dicitura("ND", Lingua),
                                            string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioFotoUtente"], "cid:FotoUtente"),
                                            Email,
                                            TelefonoUtente, Messaggio,
                                            Ag.Nome,
                                            string.Format("{0} - {1}<br />{2}", Ag.Indirizzo, Ag.Comune,
                                            (Ag.Telefono != "") ? string.Format("{0}: {1}", dicitura("Telefono", Lingua), Ag.Telefono) : string.Empty
                                            ),
                                            (PrivacyUrl != "") ? string.Format("<a href=\"{0}\">{1}</a>", PrivacyUrl, dicitura("PrivacyUtilizzo", Lingua)) : string.Empty
                                            );

                                        templateMsgAgenzia = string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioAgenzia"],
                                        (Ag.Logo1 != "") ? string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioAgenziaLogoTag"], "cid:LogoAgenzia") : string.Empty,
                                        NomeCognome,
                                        string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioFotoAnnuncio"], "cid:FotoAnnuncio"),
                                        Ann.TipologiaContrattoComune,
                                        (Ann.Prezzo > 0) ? string.Format("{0:C}", Ann.Prezzo) : dicitura("ND", Lingua),
                                        (Ann.MQ > 0) ? string.Format("{0} MQ", Ann.MQ) : dicitura("ND", Lingua),
                                        (Ann.NrLocali > 0) ? string.Format("{0} {1}", Ann.NrLocali, dicitura("Locali", Lingua)) : dicitura("ND", Lingua),
                                        (Ann.Riferimento != "") ? Ann.Riferimento : dicitura("ND", Lingua),
                                        string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioFotoUtente"], "cid:FotoUtente"),
                                        Email,
                                        TelefonoUtente, Messaggio);
                                    }
                                    if (Cantiere)
                                    {
                                        AnnuncioCantiere Ann = new AnnuncioCantiere();
                                        Ann.Load(connImmo01, IDImmobile, Lingua);
                                        urlFoto1 = Ann.UrlFoto1;
                                        templateMsgUtente = string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioUtente"],
                                            (Ag.Logo1 != "") ? string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioAgenziaLogoTag"], "cid:LogoAgenzia") : string.Empty,
                                            NomeCognome,
                                            string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioFotoAnnuncio"], "cid:FotoAnnuncio"),
                                            string.Format(dicitura("CantiereA", Lingua), Ann.Comune),
                                            (Ann.PrezzoRange != "") ? Ann.PrezzoRange : dicitura("ND", Lingua),
                                            (Ann.MQRange != "") ? Ann.MQRange : dicitura("ND", Lingua),
                                            (Ann.NrLocaliRange != "") ? Ann.NrLocaliRange : dicitura("ND", Lingua),
                                            (Ann.Riferimento != "") ? Ann.Riferimento : dicitura("ND", Lingua),
                                            string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioFotoUtente"], "cid:FotoUtente"),
                                            Email,
                                            TelefonoUtente, Messaggio,
                                            Ag.Nome,
                                            string.Format("{0} - {1}<br />{2}", Ag.Indirizzo, Ag.Comune,
                                            (Ag.Telefono != "") ? string.Format("{0}: {1}", dicitura("Telefono", Lingua), Ag.Telefono) : string.Empty
                                            ),
                                            (PrivacyUrl != "") ? string.Format("<a href=\"{0}\">{1}</a>", PrivacyUrl, dicitura("PrivacyUtilizzo", Lingua)) : string.Empty
                                            );
                                        templateMsgAgenzia = string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioAgenzia"],
                                            (Ag.Logo1 != "") ? string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioAgenziaLogoTag"], "cid:LogoAgenzia") : string.Empty,
                                            NomeCognome,
                                            string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioFotoAnnuncio"], "cid:FotoAnnuncio"),
                                            string.Format(dicitura("CantiereA", Lingua), Ann.Comune),
                                            (Ann.PrezzoRange != "") ? Ann.PrezzoRange : dicitura("ND", Lingua),
                                            (Ann.MQRange != "") ? Ann.MQRange : dicitura("ND", Lingua),
                                            (Ann.NrLocaliRange != "") ? Ann.NrLocaliRange : dicitura("ND", Lingua),
                                            (Ann.Riferimento != "") ? Ann.Riferimento : dicitura("ND", Lingua),
                                            string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioFotoUtente"], "cid:FotoUtente"),
                                            Email,
                                            TelefonoUtente, Messaggio);
                                    }

                                    if (CantiereSoluzione)
                                    {
                                        AnnuncioCantiereSoluzione Ann = new AnnuncioCantiereSoluzione();
                                        Ann.Load(connImmo01, IDImmobile, Lingua);
                                        urlFoto1 = Ann.UrlFoto1;
                                        templateMsgUtente = string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioUtente"],
                                            (Ag.Logo1 != "") ? string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioAgenziaLogoTag"], "cid:LogoAgenzia") : string.Empty,
                                            NomeCognome,
                                            string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioFotoAnnuncio"], "cid:FotoAnnuncio"),
                                            string.Format(dicitura("CantiereSoluzioneA", Lingua), Ann.Comune),
                                            (Ann.PrezzoRange != "") ? Ann.PrezzoRange : dicitura("ND", Lingua),
                                            (Ann.MQRange != "") ? Ann.MQRange : dicitura("ND", Lingua),
                                            (Ann.NrLocali > 0) ? Ann.NrLocali.ToString() : dicitura("ND", Lingua),
                                            (Ann.Riferimento != "") ? Ann.Riferimento : dicitura("ND", Lingua),
                                            string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioFotoUtente"], "cid:FotoUtente"),
                                            Email,
                                            TelefonoUtente, Messaggio,
                                            Ag.Nome,
                                            string.Format("{0} - {1}<br />{2}", Ag.Indirizzo, Ag.Comune,
                                            (Ag.Telefono != "") ? string.Format("{0}: {1}", dicitura("Telefono", Lingua), Ag.Telefono) : string.Empty
                                            ),
                                            (PrivacyUrl != "") ? string.Format("<a href=\"{0}\">{1}</a>", PrivacyUrl, dicitura("PrivacyUtilizzo", Lingua)) : string.Empty
                                            );
                                        templateMsgAgenzia = string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioAgenzia"],
                                            (Ag.Logo1 != "") ? string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioAgenziaLogoTag"], "cid:LogoAgenzia") : string.Empty,
                                            NomeCognome,
                                            string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioFotoAnnuncio"], "cid:FotoAnnuncio"),
                                            string.Format(dicitura("CantiereSoluzioneA", Lingua), Ann.Comune),
                                            (Ann.PrezzoRange != "") ? Ann.PrezzoRange : dicitura("ND", Lingua),
                                            (Ann.MQRange != "") ? Ann.MQRange : dicitura("ND", Lingua),
                                            (Ann.NrLocali > 0) ? Ann.NrLocali.ToString() : dicitura("ND", Lingua),
                                            (Ann.Riferimento != "") ? Ann.Riferimento : dicitura("ND", Lingua),
                                            string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioFotoUtente"], "cid:FotoUtente"),
                                            Email,
                                            TelefonoUtente, Messaggio);
                                    }

                                    if (GenericInfo)
                                    {
                                        templateMsgUtente = string.Format(ConfigurationManager.AppSettings["templateEmailWidgetRichiestaInfoMessaggioUtente"],
                                            (Ag.Logo1 != "") ? string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioAgenziaLogoTag"], "cid:LogoAgenzia") : string.Empty,
                                            NomeCognome,
                                            string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioFotoUtente"], "cid:FotoUtente"),
                                            Email,
                                            TelefonoUtente,
                                            Messaggio,
                                            Ag.Nome,
                                            string.Format("{0} - {1}<br />{2}", Ag.Indirizzo, Ag.Comune,
                                            (Ag.Telefono != "") ? string.Format("{0}: {1}", dicitura("Telefono", Lingua), Ag.Telefono) : string.Empty
                                            ),
                                            (PrivacyUrl != "") ? string.Format("<a href=\"{0}\">{1}</a>", PrivacyUrl, dicitura("PrivacyUtilizzo", Lingua)) : string.Empty
                                            );
                                        templateMsgAgenzia = string.Format(ConfigurationManager.AppSettings["templateEmailWidgetRichiestaInfoMessaggioAgenzia"],
                                            (Ag.Logo1 != "") ? string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioAgenziaLogoTag"], "cid:LogoAgenzia") : string.Empty,
                                            NomeCognome,
                                            string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioFotoAnnuncio"], "cid:FotoAnnuncio"),
                                            string.Format(ConfigurationManager.AppSettings["templateEmailMessaggioFotoUtente"], "cid:FotoUtente"),
                                            Email,
                                            TelefonoUtente, Messaggio);
                                    }

                                    ArrayList LR = getLinkedResources(Ag.Logo1, Ag.IDAgenzia, urlFoto1);
                                    MailMessage mailUtente = new MailMessage(SWA.SmtpFrom, Email);
                                    mailUtente.Body = templateMsgUtente;
                                    mailUtente.IsBodyHtml = true;
                                    mailUtente.AlternateViews.Add(getAlternateView(templateMsgUtente, LR));
                                    mailUtente.Subject = dicitura("RichiestaInformazioni", Lingua);
                                    SmtpServer1.Send(mailUtente);
                                    SmtpServer1.Dispose();

                                    ArrayList LR2 = getLinkedResources(Ag.Logo1, Ag.IDAgenzia, urlFoto1);
                                    SmtpClient SmtpServer2 = getSmtpServer(SWA);

                                    MailMessage mailAgenzia = new MailMessage(SWA.SmtpFrom, SWA.SmtpTo);
                                    mailAgenzia.Body = templateMsgAgenzia;
                                    mailAgenzia.IsBodyHtml = true;
                                    mailAgenzia.ReplyTo = new MailAddress(Email);
                                    mailAgenzia.AlternateViews.Add(getAlternateView(templateMsgAgenzia, LR2));
                                    mailAgenzia.Subject = dicitura("RichiestaInformazioni", Lingua);
                                    if (SWA.SmtpCC != "")
                                    {
                                        mailAgenzia.CC.Add(SWA.SmtpCC);
                                    }
                                    SmtpServer2.Send(mailAgenzia);
                                    SmtpServer2.Dispose();

                                }
                            }

                        }
                    }
                }
                connImmo01.Close();
                connImmo01.Dispose();

                r = "ok";
            }
            catch (Exception ex)
            {
                r = "error";
                throw ex;
            }
            return r;
        }
Exemple #2
0
        static string getRigaAnnuncioCantiereSoluzione(SqlConnection connImmo01, AnnuncioCantiereSoluzione Ann,
            string urlPaginaAnnuncio,
            string lingua,
            int numeroColonne
            )
        {
            string riga = "";
            string templateRisultatoRicercaCantieriSoluzioniBody = ConfigurationManager.AppSettings["templateRisultatoRicercaCantieriSoluzioniBody"];
            string templateRisultatoRicercaCantieriSoluzioniBodyBrochure = ConfigurationManager.AppSettings["templateRisultatoRicercaCantieriSoluzioniBodyBrochure"];
            CultureInfo cul = new CultureInfo("it-IT");
            Thread.CurrentThread.CurrentCulture = cul;
            try
            {

                if (Ann.Error == false)
                {
                    string link = "";
                    if (Ann.IDImmobile > 0)
                    {
                        Annuncio AnnImmobile = new Annuncio();
                        AnnImmobile.Load(connImmo01, Ann.IDImmobile, lingua);
                        link = "<a href=\"" + getLinkAnnuncioImmobile(AnnImmobile, urlPaginaAnnuncio) + "\">";
                    }
                    string foto1;
                    string nofoto = "";
                    if (Ann.UrlFoto1 != "")
                    {

                        foto1 = string.Format(" style= \"background-image: url({0})\" ",
                            string.Format(ConfigurationManager.AppSettings["percorsoFoto"],
                            Ann.IDAgenzia,
                            Ann.UrlFoto1)
                        );
                    }
                    else
                    {
                        foto1 = "";
                        nofoto = "gx-img-foto";
                    }
                    string title = Ann.Titolo;
                    if (title != "")
                    {
                        title = string.Format("<h1>{0}</h1>", title);
                    }
                    string zonaQuartiere = "";

                    zonaQuartiere = Ann.Zona;
                    if (Ann.Quartiere != "")
                    {
                        if (Ann.Zona != "") { Ann.Zona += ".&nbsp;"; }
                        Ann.Zona += Ann.Quartiere;
                    }
                    if (Ann.QuartiereZona != "")
                    {
                        if (Ann.Zona != "") { Ann.Zona += ".&nbsp;"; }
                        Ann.Zona += Ann.QuartiereZona;
                    }

                    if (zonaQuartiere != "")
                    {
                        zonaQuartiere = string.Format("<h3>{0}</h3>", zonaQuartiere);
                    }

                    string sendParams = "'" + lingua + "'," + Ann.IDCantiereSoluzione.ToString() + "," + Ann.IDAgenzia.ToString() + ",false,true,'racs'"; // racs = riga annuncio cantiere soluzione
                    if (Ann.TipologiaContrattoComune != "")
                    {
                        Ann.TipologiaContrattoComune = string.Format("<h2>{0}</h2>", Ann.TipologiaContrattoComune);
                    }
                    riga = string.Format(templateRisultatoRicercaCantieriSoluzioniBody,
                        numeroColonne,
                        link,
                        (link != "") ? "</a>" : "",
                        title,
                        foto1,
                        Ann.TipologiaContrattoComune,
                        Ann.Descrizione,
                        Ann.PrezzoLocaliMqRif,
                        (link == "") ? " style=\"display:none\" " : "",
                        dicitura("Dettagli", lingua),
                        (Ann.Brochure != "") ? string.Format(templateRisultatoRicercaCantieriSoluzioniBodyBrochure,
                            Ann.IDAgenzia,
                            Ann.Brochure,
                            dicitura("Brochure", lingua)) : "",
                        sendParams,
                        dicitura("InviaEmail", lingua)
                        );

                }

            }

            catch (Exception ex)
            {
                riga = "";
            }
            return riga;
        }
Exemple #3
0
        public static string HtmlAnnuncioCantiere(string apikey,
            int IDCantiere,
            string pathName,
            string clientId,
            string clientClassName,
            string lingua,
            string urlPaginaAnnuncio,
            string urlPaginaCantiere,
            bool mostraTitolo,
            bool mostraCapitolato,
            bool mostraDescrizione,
            bool mostraBottoneLeggiTutto,
            bool mostraMappa,
            bool mostraDettagli,
            bool mostraGallery,
            bool mostraVideo,
            bool mostraPlanimetrie,
            bool mostraSoluzioniAbitative,
            bool mostraRichiestaInfo,
            bool mostraPrivacy,
            string urlPrivacy
            )
        {
            if (urlPaginaAnnuncio == null) { urlPaginaAnnuncio = ""; }
            if (urlPaginaCantiere == null) { urlPaginaCantiere = ""; }
            StringBuilder sb = new StringBuilder();
            sb.Append(string.Format("<div{0} class=\"gx-contenitore-scheda-annunci{1}\">",
                (clientId != "") ? string.Format(" id=\"{0}\"", clientId) : "",
                (clientClassName != "") ? string.Format(" {0}", clientClassName) : ""
                ));
            StringBuilder sbScript = new StringBuilder();
            try
            {
                SqlConnection connImmo01 = new SqlConnection(ConfigurationManager.ConnectionStrings["DBIMMO01ConnectionString"].ConnectionString);

                connImmo01.Open();

                using (connImmo01)
                {
                    AnnuncioCantiere Ann = new AnnuncioCantiere();
                    if (IDCantiere == 0 && urlPaginaCantiere.Contains("{idcantiere}"))
                    {
                        IDCantiere = findIDInPathName(pathName, urlPaginaCantiere, "{idcantiere}");
                    }
                    Ann.Load(connImmo01, IDCantiere, lingua);

                    if (Ann.Error == false)
                    {
                        int nrPiantine = 0;
                        DataTable dTableImmobiliPiantine = new DataTable();
                        using (SqlCommand cmdImmobiliPiantine = new SqlCommand())
                        {
                            cmdImmobiliPiantine.CommandText = "AgenzieSitiWeb_CantieriFoto_Elenco";
                            cmdImmobiliPiantine.CommandType = CommandType.StoredProcedure;
                            cmdImmobiliPiantine.Connection = connImmo01;
                            cmdImmobiliPiantine.CommandTimeout = 600;
                            cmdImmobiliPiantine.Parameters.Add("@IDCantiere", SqlDbType.Int).Value = Ann.IDCantiere;
                            cmdImmobiliPiantine.Parameters.Add("@TipoFoto", SqlDbType.Char).Value = "P";
                            var adaptImmobiliPiantine = new SqlDataAdapter();
                            adaptImmobiliPiantine.SelectCommand = cmdImmobiliPiantine;
                            adaptImmobiliPiantine.Fill(dTableImmobiliPiantine);
                            adaptImmobiliPiantine.Dispose();
                            nrPiantine = dTableImmobiliPiantine.Rows.Count;
                        }
                        if (mostraTitolo)
                        {
                            string r1 = string.Format(ConfigurationManager.AppSettings["templateAnnuncioTitolo"],
                                (Ann.Titolo != "") ? Ann.Titolo : string.Format(dicitura("CantiereA", lingua), Ann.Comune),
                            Ann.PrezzoLocaliMqRif);
                            sb.Append(r1);
                        }
                        if (Ann.Capitolato != "" && mostraCapitolato)
                        {
                            string templateAnnuncioCapitolato = ConfigurationManager.AppSettings["templateAnnuncioCapitolato"];
                            sb.Append(string.Format(templateAnnuncioCapitolato,
                                Ann.IDAgenzia,
                                Ann.Capitolato, dicitura("Capitolato", lingua)));
                        }
                        if ((mostraGallery && Ann.ExistsFoto) ||
                            (mostraVideo && Ann.ExistsVideo) ||
                            mostraPlanimetrie)
                        {
                            StringBuilder navRows1 = new StringBuilder();
                            StringBuilder rScriptPageIds1 = new StringBuilder();
                            if (mostraGallery && Ann.ExistsFoto)
                            {
                                string navRowGallery = string.Format(ConfigurationManager.AppSettings["templateAnnuncioTabNavRow"],
                                    "#gx-1", "gx-tab-foto", dicitura("Foto", lingua), "");
                                navRows1.Append(navRowGallery);
                                rScriptPageIds1.Append("'gx-1'");
                            }
                            if (mostraVideo && Ann.ExistsVideo)
                            {
                                string navRowVideo = string.Format(ConfigurationManager.AppSettings["templateAnnuncioTabNavRow"],
                                    "#gx-2", "gx-tab-video", dicitura("Video", lingua), "");
                                navRows1.Append(navRowVideo);
                                if (rScriptPageIds1.ToString() != "") { rScriptPageIds1.Append(", "); }
                                rScriptPageIds1.Append("'gx-2'");
                            }
                            if (mostraPlanimetrie && Ann.ExistsPlanimetria && nrPiantine == 0)
                            {
                                string navRowPlanimetrie = string.Format(ConfigurationManager.AppSettings["templateAnnuncioTabNavRow"],
                                    Ann.UrlPlanimetria, "gx-tab-planimetria", dicitura("Planimetrie", lingua), "target=\"_blank\"");
                                navRows1.Append(navRowPlanimetrie);
                                //if (rScriptPageIds1.ToString() != "") { rScriptPageIds1.Append(", "); }
                                //rScriptPageIds1.Append("'gx-3'");
                            }
                            if (mostraPlanimetrie && nrPiantine > 0)
                            {
                                string navRowPlanimetrie = string.Format(ConfigurationManager.AppSettings["templateAnnuncioTabNavRow"],
                                    "#gx-3", "gx-tab-planimetria", dicitura("Planimetrie", lingua), "");
                                navRows1.Append(navRowPlanimetrie);
                                if (rScriptPageIds1.ToString() != "") { rScriptPageIds1.Append(", "); }
                                rScriptPageIds1.Append("'gx-3'");
                            }
                            if (navRows1.ToString() != "")
                            {
                                sb.Append(string.Format(ConfigurationManager.AppSettings["templateAnnuncioTabNav"],
                                                                navRows1.ToString(), ""));
                            }
                            sbScript.Append(string.Format("var gxTab1 = gxTabs.gxSetTabs('page', [{0}]);",
                                rScriptPageIds1.ToString()));
                        }

                        if (mostraGallery && Ann.ExistsFoto)
                        {
                            StringBuilder URLFoto = new StringBuilder();
                            StringBuilder URLThumb = new StringBuilder();
                            using (SqlCommand cmdImmobiliFoto = new SqlCommand())
                            {
                                cmdImmobiliFoto.CommandText = "AgenzieSitiWeb_CantieriFoto_Elenco";
                                cmdImmobiliFoto.CommandType = CommandType.StoredProcedure;
                                cmdImmobiliFoto.Connection = connImmo01;
                                cmdImmobiliFoto.CommandTimeout = 600;
                                cmdImmobiliFoto.Parameters.Add("@IDCantiere", SqlDbType.Int).Value = Ann.IDCantiere;
                                cmdImmobiliFoto.Parameters.Add("@TipoFoto", SqlDbType.Char).Value = "F";
                                var adaptImmobiliFoto = new SqlDataAdapter();
                                adaptImmobiliFoto.SelectCommand = cmdImmobiliFoto;
                                DataTable dTableImmobiliFoto = new DataTable();
                                adaptImmobiliFoto.Fill(dTableImmobiliFoto);
                                adaptImmobiliFoto.Dispose();
                                foreach (DataRow dRowImmobiliFoto in dTableImmobiliFoto.Rows)
                                {
                                    URLFoto.Append(string.Format(ConfigurationManager.AppSettings["templateAnnuncioURLFoto"],
                                        Ann.IDAgenzia.ToString(), dRowImmobiliFoto["URLFoto"]));
                                    URLThumb.Append(string.Format(ConfigurationManager.AppSettings["templateAnnuncioURLThumb"],
                                        Ann.IDAgenzia.ToString(), dRowImmobiliFoto["URLThumb"], ""));
                                }
                                dTableImmobiliFoto.Dispose();
                            }
                            sb.Append(string.Format(ConfigurationManager.AppSettings["templateAnnuncioGallery"],
                                "1", dicitura("Foto", lingua), URLFoto, URLThumb, "gx-gallery-slide", ""));
                            sbScript.Append("gxInitGallery(\"gxGalleryContainer1\");");
                        }
                        if (mostraPlanimetrie && (Ann.ExistsPlanimetria || nrPiantine > 0))
                        {
                            StringBuilder URLPlanimetria = new StringBuilder();
                            StringBuilder URLPlanimetriaThumb = new StringBuilder();

                            if (Ann.UrlPlanimetria != "")
                            {
                                URLPlanimetriaThumb.Append(string.Format(ConfigurationManager.AppSettings["templateAnnuncioGalleryBottonePlanimetria"],
                                    Ann.UrlPlanimetria));
                            }
                            foreach (DataRow dRowImmobiliFoto in dTableImmobiliPiantine.Rows)
                            {
                                URLPlanimetria.Append(string.Format(ConfigurationManager.AppSettings["templateAnnuncioURLFoto"],
                                    Ann.IDAgenzia.ToString(), dRowImmobiliFoto["URLFoto"]));
                                URLPlanimetriaThumb.Append(string.Format(ConfigurationManager.AppSettings["templateAnnuncioURLThumb"],
                                    Ann.IDAgenzia.ToString(), dRowImmobiliFoto["URLThumb"], " gx-pm"));
                            }
                            if (nrPiantine > 0)
                            {
                                sb.Append(string.Format(ConfigurationManager.AppSettings["templateAnnuncioGallery"],
                                "3", dicitura("Planimetrie", lingua), URLPlanimetria, URLPlanimetriaThumb, "gx-gallery-slide", " gx-pm"));
                                sbScript.Append("gxInitGallery(\"gxGalleryContainer3\");");
                            }
                            dTableImmobiliPiantine.Dispose();

                        }
                        if (mostraVideo && Ann.ExistsVideo)
                        {

                            StringBuilder URLVideo = new StringBuilder();
                            StringBuilder URLVideoThumb = new StringBuilder();
                            for (int vx = 0; vx < Ann.VideoIDs.Count; vx++)
                            {
                                URLVideo.Append(
                                    string.Format(ConfigurationManager.AppSettings["templateAnnuncioURLVideo"],
                                        Ann.VideoIDs[vx]));
                                URLVideoThumb.Append(
                                    string.Format(ConfigurationManager.AppSettings["templateAnnuncioURLVideoThumb"],
                                        Ann.VideoIDs[vx]));
                            }
                            sb.Append(string.Format(ConfigurationManager.AppSettings["templateAnnuncioGalleryVideo"],
                                "2", dicitura("Video", lingua), URLVideo, URLVideoThumb, "gx-gallery-slide-video"));
                            sbScript.Append("gxInitGalleryVideo(\"gxGalleryContainer2\");");
                        }
                        if (mostraDescrizione)
                        {
                            if (mostraBottoneLeggiTutto)
                            {
                                sb.Append(string.Format(ConfigurationManager.AppSettings["templateAnnuncioDescriptionReadMore"],
                                Ann.Descrizione,
                                dicitura("ReadMore", lingua), dicitura("ReadLess", lingua)));
                            }
                            else
                            {
                                sb.Append(string.Format(ConfigurationManager.AppSettings["templateAnnuncioDescription"],
                                Ann.Descrizione));
                            }
                        }

                        if (mostraDettagli ||
                            (mostraSoluzioniAbitative && Ann.NrSoluzioni > 0) ||
                            (mostraMappa && Ann.ExistsMappa) ||
                            mostraRichiestaInfo)
                        {
                            StringBuilder navRows2 = new StringBuilder();
                            StringBuilder rScriptPageIds2 = new StringBuilder();
                            if (mostraDettagli)
                            {
                                string navRowDettagli = string.Format(ConfigurationManager.AppSettings["templateAnnuncioSecondaTabNavRowCantiere"],
                                    "#gx-5", "gx-tab-cantiere-dettagli", dicitura("Dettagli", lingua), "");
                                navRows2.Append(navRowDettagli);
                                rScriptPageIds2.Append("'gx-5'");
                            }
                            if (mostraRichiestaInfo)
                            {
                                string navRowRichiestaInfo = string.Format(ConfigurationManager.AppSettings["templateAnnuncioSecondaTabNavRowCantiere"],
                                    "#gx-6", "gx-tab-cantiere-mail", dicitura("Informazioni", lingua), "");
                                navRows2.Append(navRowRichiestaInfo);
                                if (rScriptPageIds2.ToString() != "") { rScriptPageIds2.Append(", "); }
                                rScriptPageIds2.Append("'gx-6'");
                            }
                            if (mostraSoluzioniAbitative && Ann.NrSoluzioni > 0)
                            {
                                string navRowSoluzioniAbitative = string.Format(ConfigurationManager.AppSettings["templateAnnuncioSecondaTabNavRowCantiere"],
                                    "#gx-soluzionicantieri", "gx-tab-soluzioni", dicitura("Soluzioni", lingua), "");
                                navRows2.Append(navRowSoluzioniAbitative);
                                if (rScriptPageIds2.ToString() != "") { rScriptPageIds2.Append(", "); }
                                rScriptPageIds2.Append("'gx-soluzionicantieri'");
                            }
                            if (mostraMappa && Ann.ExistsMappa)
                            {
                                string navRowMappa = string.Format(ConfigurationManager.AppSettings["templateAnnuncioSecondaTabNavRowCantiere"],
                                    "#gx-7", "gx-tab-cantiere-map", dicitura("Mappa", lingua), "");
                                navRows2.Append(navRowMappa);
                                if (rScriptPageIds2.ToString() != "") { rScriptPageIds2.Append(", "); }
                                rScriptPageIds2.Append("'gx-7'");
                            }
                            if (navRows2.ToString() != "")
                            {
                                sb.Append(string.Format(ConfigurationManager.AppSettings["templateAnnuncioTabNav"],
                                    navRows2.ToString(), "-cantiere"));
                            }
                            sbScript.Append(string.Format("var gxTab2 = gxTabs.gxSetTabs('page', [{0}]);",
                                rScriptPageIds2.ToString(), ""));
                        }
                        if (mostraDettagli)
                        {
                            string dettagli = getAnnuncioDettagli(Ann.IDCantiere, lingua, true);

                            sb.Append(
                                string.Format(ConfigurationManager.AppSettings["templateAnnuncioDettagliCantiere"],
                                dicitura("Dettagli", lingua),
                                dettagli)
                                );
                        }
                        if (mostraMappa && Ann.ExistsMappa)
                        {
                            string indirizzo = (Ann.PubblicaIndirizzo) ? Ann.Indirizzo : string.Empty;
                            string civico = (Ann.PubblicaCivico) ? Ann.Civico : string.Empty;
                            string mappa = ConfigurationManager.AppSettings["templateAnnuncioMappa"];
                            string templateIndirizzo = ConfigurationManager.AppSettings["templateAnnuncioMappaIndirizzo"];
                            templateIndirizzo = templateIndirizzo.Replace("{0}", indirizzo);
                            templateIndirizzo = templateIndirizzo.Replace("{1}", civico);
                            mappa = mappa.Replace("{0}", dicitura("Mappa", lingua));
                            mappa = mappa.Replace("{1}",
                                (Ann.PubblicaIndirizzo) ? string.Format("{0}: {1} {2}", dicitura("Indirizzo", lingua), indirizzo, civico) : string.Empty
                                );
                            mappa = mappa.Replace("{2}", Ann.Latitudine.ToString().Replace(",", "."));
                            mappa = mappa.Replace("{3}", Ann.Longitudine.ToString().Replace(",", "."));
                            mappa = mappa.Replace("{4}",
                                (Ann.PubblicaIndirizzo) ? templateIndirizzo : string.Empty);
                            mappa = mappa.Replace("{5}", "-cantiere");
                            sb.Append(mappa);
                        }
                        if (mostraRichiestaInfo)
                        {
                            StringBuilder ufficioVendite = new StringBuilder();
                            if (Ann.UfficioVenditeCantiereComune != "")
                            {
                                ufficioVendite.Append(string.Format("<div>{0}</div>", Ann.UfficioVendite));
                                ufficioVendite.Append(string.Format("<div>{0}</div>", Ann.UfficioVenditeIndirizzo));
                                ufficioVendite.Append(string.Format("<div>{0} ({1})</div>",
                                    Ann.UfficioVenditeCantiereComune, Ann.UfficioVenditeCantiereSiglaProvincia));
                                if (Ann.UfficioVenditeTelefono != "")
                                {
                                    ufficioVendite.Append(string.Format("<div>{0}: {0}</div>", dicitura("Telefono", lingua), Ann.UfficioVenditeTelefono));
                                }
                                if (Ann.UfficioVenditeCellulare != "")
                                {
                                    ufficioVendite.Append(string.Format("<div>{0}: {0}</div>", dicitura("Cellulare", lingua), Ann.UfficioVenditeCellulare));
                                }
                                string mappa = ConfigurationManager.AppSettings["templateAnnuncioMappaUfficioVendite"];
                                ufficioVendite.Append(mappa.Replace("{0}", Ann.UfficioVenditeIndirizzo + ", " + Ann.UfficioVenditeCantiereComune + ", " +
                                    Ann.UfficioVenditeCantiereSiglaProvincia));
                            }

                            string richiestaInfo = string.Format(ConfigurationManager.AppSettings["templateAnnuncioRichiestaInfoCantiere"],
                                dicitura("RichiediInformazioni", lingua),
                                Ann.AgenziaNome,
                                Ann.AgenziaIndirizzo + " - " + Ann.Comune,
                                dicitura("Telefono", lingua),
                                Ann.AgenziaTelefono,
                                dicitura("NomeCognome", lingua),
                                dicitura("Email", lingua),
                                dicitura("Telefono", lingua),
                                dicitura("Messaggio", lingua),
                                dicitura("InformazioniDettagliate", lingua),
                                mostraPrivacy ? string.Format(ConfigurationManager.AppSettings["templateEmailPrivacyLi"],
                                string.Format(dicitura("HoLettoPrivacy", lingua), urlPrivacy), "aric") : "",
                                lingua,
                                Ann.IDCantiere,
                                Ann.IDAgenzia,
                                dicitura("Invia", lingua),
                                dicitura("MailSendValid", lingua),
                                dicitura("MailSendNoValid", lingua),
                                dicitura("MailSendError", lingua),
                                (ufficioVendite.ToString() != "") ? string.Format(ConfigurationManager.AppSettings["templateAnnuncioCantiereUfficioVendite"],
                                dicitura("UfficioVendite", lingua),
                                ufficioVendite.ToString()) : "",
                                "aric" // annuncio richiesta info cantiere
                                ,
                                dicitura("Invia", lingua),
                                dicitura("StoInviando", lingua),
                                dicitura("Inviato", lingua)
                                );
                            sb.Append(richiestaInfo);
                        }
                        if (mostraSoluzioniAbitative && Ann.NrSoluzioni > 0)
                        {
                            StringBuilder soluzioniAbitative = new StringBuilder();

                            using (SqlCommand cmdCantieriSoluzioni = new SqlCommand())
                            {
                                cmdCantieriSoluzioni.CommandText = "AgenzieSitiWeb_CantieriSoluzioni_Elenco";
                                cmdCantieriSoluzioni.CommandType = CommandType.StoredProcedure;
                                cmdCantieriSoluzioni.Connection = connImmo01;
                                cmdCantieriSoluzioni.CommandTimeout = 600;
                                cmdCantieriSoluzioni.Parameters.Add("@IDCantiere", SqlDbType.Int).Value = Ann.IDCantiere;
                                cmdCantieriSoluzioni.Parameters.Add("@IDAgenzia", SqlDbType.Int).Value = Ann.IDAgenzia;
                                var adaptCantieriSoluzioni = new SqlDataAdapter();
                                adaptCantieriSoluzioni.SelectCommand = cmdCantieriSoluzioni;
                                DataTable dTableCantieriSoluzioni = new DataTable();
                                adaptCantieriSoluzioni.Fill(dTableCantieriSoluzioni);
                                adaptCantieriSoluzioni.Dispose();
                                foreach (DataRow dRowCantieriSoluzioni in dTableCantieriSoluzioni.Rows)
                                {
                                    int IDCantiereSoluzione = (int)dRowCantieriSoluzioni["IDCantiereSoluzione"];
                                    AnnuncioCantiereSoluzione AnnCantiereSoluzione = new AnnuncioCantiereSoluzione();
                                    AnnCantiereSoluzione.Load(connImmo01, IDCantiereSoluzione, lingua);
                                    soluzioniAbitative.Append(getRigaAnnuncioCantiereSoluzione(connImmo01, AnnCantiereSoluzione, urlPaginaAnnuncio, lingua, 3));
                                }
                                dTableCantieriSoluzioni.Dispose();
                            }
                            sb.Append(
                            string.Format(ConfigurationManager.AppSettings["templateAnnuncioCantiereSoluzioniAbitative"],
                            dicitura("SoluzioniAbitative", lingua) + " (" + Ann.NrSoluzioni.ToString() + ")",
                            soluzioniAbitative.ToString())
                            );
                            string templateEmailFormOl = string.Format(ConfigurationManager.AppSettings["templateEmailFormOl"],
                            dicitura("NomeCognome", lingua),
                            dicitura("Email", lingua),
                            dicitura("Telefono", lingua),
                            dicitura("Messaggio", lingua),
                            dicitura("InformazioniDettagliate", lingua),
                            mostraPrivacy ? string.Format(ConfigurationManager.AppSettings["templateEmailPrivacyLi"],
                            string.Format(dicitura("HoLettoPrivacy", lingua), urlPrivacy), "racs") : "",
                            dicitura("Invia", lingua),
                            dicitura("MailSendValid", lingua),
                            dicitura("MailSendNoValid", lingua),
                            dicitura("MailSendError", lingua),
                            "racs",
                            dicitura("Invia", lingua),
                            dicitura("StoInviando", lingua),
                            dicitura("Inviato", lingua)
                            );
                            sb.Append(string.Format(ConfigurationManager.AppSettings["templateEmailForm"],
                                dicitura("RichiediInformazioni", lingua),
                                templateEmailFormOl,
                                "racs"));
                            sb.Append(ConfigurationManager.AppSettings["templateEmailScript"]);
                        }
                    }
                    else { sb.Clear(); }
                }
                connImmo01.Close();
                connImmo01.Dispose();
            }
            catch (Exception ex) { sb.Clear(); throw ex; }
            if (sb.ToString() != "" && sbScript.ToString() != "")
            {
                sb.Append(string.Format("<script type=\"text/javascript\">{0}</script>", sbScript.ToString()));
            }
            sb.Append("<div style=\"clear:both\"></div>");
            sb.Append("</div>");
            return sb.ToString();
        }