Esempio n. 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;
        }
Esempio n. 2
0
        public static string HtmlAnnunciCantieriLista(string apikey,
            string urlPaginaRisultati,
            string urlPaginaAnnuncio,
            string querystring,
            string clientId,
            string clientClassName,
            int numeroColonne,
            string lingua,
            int numeroRisultati,
            bool mostraTitoli,
            bool mostraZonaQuartiere,
            bool mostraDescrizione,
            bool mostraDettagli,
            bool mostraBottoni,
            bool mostraAnnunciSalvati,
            bool mostraIcone,
            bool mostraPrivacy,
            string urlPrivacy,
            string paramSortBy,
            int paramStartRisultati,
            string paramCantieriSalvati
            )
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(string.Format("<div{0} class=\"gx-contenitore-lista-annunci{1}\">",
                            (clientId != "") ? string.Format(" id=\"{0}\"", clientId) : "",
                            (clientClassName != "") ? string.Format(" {0}", clientClassName) : ""
                            ));
            if (querystring == null || querystring == "")
            {
                querystring = "?";
            }
            if (paramSortBy == null)
            {
                paramSortBy = "";
            }
            if (urlPaginaRisultati == null)
            {
                urlPaginaRisultati = "";
            }
            if (paramCantieriSalvati == null)
            {
                paramCantieriSalvati = "";
            }
            try
            {
                SqlConnection connImmo01 = new SqlConnection(ConfigurationManager.ConnectionStrings["DBIMMO01ConnectionString"].ConnectionString);

                connImmo01.Open();

                using (connImmo01)
                {
                    Int32 TotaleCantieri = 0;
                    string[] CantieriSalvati = null;
                    if (querystring.StartsWith("?CantieriSalvati=") || paramCantieriSalvati != "")
                    {
                        if (paramCantieriSalvati != "")
                        {
                            CantieriSalvati = paramCantieriSalvati.Split('-');
                        }
                        else
                        {
                            CantieriSalvati = getQuerystringValue(querystring, "CantieriSalvati", "").Split('-');
                        }

                        TotaleCantieri = CantieriSalvati.Length;
                    }
                    else
                    {
                        using (SqlCommand cmdImmobiliCount = new SqlCommand())
                        {
                            cmdImmobiliCount.CommandText = "AgenzieSitiWeb_Cantieri_Count";
                            cmdImmobiliCount.CommandType = CommandType.StoredProcedure;
                            cmdImmobiliCount.Connection = connImmo01;
                            cmdImmobiliCount.CommandTimeout = 600;
                            cmdImmobiliCount.Parameters.Add("@ApiKey", SqlDbType.UniqueIdentifier).Value = new System.Data.SqlTypes.SqlGuid(apikey);
                            cmdImmobiliCount.Parameters.Add("@Lingua", SqlDbType.Char).Value = lingua;
                            cmdImmobiliCount.Parameters.Add("@Zona", SqlDbType.NVarChar).Value = getQuerystringValue(querystring, "Zona", "");
                            cmdImmobiliCount.Parameters.Add("@Riferimento", SqlDbType.NVarChar).Value = getQuerystringValue(querystring, "Riferimento", "");
                            // values with null as default
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@IDProvincia", SqlDbType.Int, querystring, "Provincia");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@IDComune", SqlDbType.Int, querystring, "Comune");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@IDQuartiere", SqlDbType.Int, querystring, "Quartiere");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@IDCategoria", SqlDbType.Int, querystring, "Categoria");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@IDTipologia", SqlDbType.Int, querystring, "Tipologia");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@PrezzoMin", SqlDbType.Money, querystring, "PrezzoMin");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@PrezzoMax", SqlDbType.Money, querystring, "PrezzoMax");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@NrLocaliMin", SqlDbType.Money, querystring, "NrLocaliMin");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@NrLocaliMax", SqlDbType.Money, querystring, "NrLocaliMax");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@MQMin", SqlDbType.Int, querystring, "SuperficieMin");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@MQMax", SqlDbType.Int, querystring, "SuperficieMax");

                            var adaptImmobiliCount = new SqlDataAdapter();
                            adaptImmobiliCount.SelectCommand = cmdImmobiliCount;
                            DataTable dTableImmobiliCount = new DataTable();
                            adaptImmobiliCount.Fill(dTableImmobiliCount);
                            adaptImmobiliCount.Dispose();

                            if (dTableImmobiliCount.Rows.Count > 0)
                            {
                                TotaleCantieri = (int)dTableImmobiliCount.Rows[0]["TotaleCantieri"];
                            }
                        }
                    }

                    if (TotaleCantieri > 0)
                    {
                        // trovati cantierisoluzioni

                        string Ordinamento = getQuerystringValue(querystring, "Ordinamento", "DataDesc");
                        string qsOrdinamento = Ordinamento;
                        if (paramSortBy != "")
                        {
                            Ordinamento = paramSortBy;
                            qsOrdinamento = paramSortBy;
                        }
                        string SortDirection = "D";
                        string SortBy = "Data";
                        if (Ordinamento.EndsWith("Asc")) { SortDirection = "A"; Ordinamento = Ordinamento.Replace("Asc", ""); }
                        if (Ordinamento.EndsWith("Desc")) { SortDirection = "D"; Ordinamento = Ordinamento.Replace("Desc", ""); }
                        if (Ordinamento == "Data" ||
                            Ordinamento == "MQ" ||
                            Ordinamento == "Prezzo")
                        {
                            SortBy = Ordinamento;
                        }
                        int startRisultati = Convert.ToInt32(getQuerystringValue(querystring, "StartRisultati", "0"));
                        if (paramStartRisultati > -1)
                        {
                            startRisultati = paramStartRisultati;
                        }
                        if (startRisultati > TotaleCantieri - 1)
                        {
                            startRisultati = 0;
                        }
                        StringBuilder listaImmobili = new StringBuilder();
                        if (CantieriSalvati == null)
                        {
                            using (SqlCommand cmdImmobiliElenco = new SqlCommand())
                            {
                                cmdImmobiliElenco.CommandText = "AgenzieSitiWeb_Cantieri_Elenco";
                                cmdImmobiliElenco.CommandType = CommandType.StoredProcedure;
                                cmdImmobiliElenco.Connection = connImmo01;
                                cmdImmobiliElenco.CommandTimeout = 600;
                                cmdImmobiliElenco.Parameters.Add("@ApiKey", SqlDbType.UniqueIdentifier).Value = new System.Data.SqlTypes.SqlGuid(apikey);
                                cmdImmobiliElenco.Parameters.Add("@Lingua", SqlDbType.Char).Value = lingua;
                                cmdImmobiliElenco.Parameters.Add("@NumeroRisultati", SqlDbType.Int).Value = numeroRisultati;
                                cmdImmobiliElenco.Parameters.Add("@StartRisultati", SqlDbType.Int).Value = startRisultati;
                                cmdImmobiliElenco.Parameters.Add("@SortDirection", SqlDbType.Char).Value = SortDirection;
                                cmdImmobiliElenco.Parameters.Add("@SortBy", SqlDbType.Char).Value = SortBy;
                                cmdImmobiliElenco.Parameters.Add("@Zona", SqlDbType.NVarChar).Value = getQuerystringValue(querystring, "Zona", "");
                                cmdImmobiliElenco.Parameters.Add("@Riferimento", SqlDbType.NVarChar).Value = getQuerystringValue(querystring, "Riferimento", "");

                                // values with null as default
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@IDProvincia", SqlDbType.Int, querystring, "Provincia");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@IDComune", SqlDbType.Int, querystring, "Comune");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@IDQuartiere", SqlDbType.Int, querystring, "Quartiere");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@IDCategoria", SqlDbType.Int, querystring, "Categoria");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@IDTipologia", SqlDbType.Int, querystring, "Tipologia");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@PrezzoMin", SqlDbType.Money, querystring, "PrezzoMin");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@PrezzoMax", SqlDbType.Money, querystring, "PrezzoMax");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@NrLocaliMin", SqlDbType.Money, querystring, "NrLocaliMin");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@NrLocaliMax", SqlDbType.Money, querystring, "NrLocaliMax");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@MQMin", SqlDbType.Int, querystring, "SuperficieMin");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@MQMax", SqlDbType.Int, querystring, "SuperficieMax");

                                var adaptImmobiliElenco = new SqlDataAdapter();
                                adaptImmobiliElenco.SelectCommand = cmdImmobiliElenco;
                                DataTable dTableImmobiliElenco = new DataTable();
                                adaptImmobiliElenco.Fill(dTableImmobiliElenco);
                                foreach (DataRow dRowImmobile in dTableImmobiliElenco.Rows)
                                {
                                    AnnuncioCantiere Ann = new AnnuncioCantiere();
                                    Ann.Load(connImmo01, (Int32)dRowImmobile["IDCantiere"], lingua);
                                    listaImmobili.Append(getRigaAnnuncioCantiereLista(Ann,
                                        urlPaginaAnnuncio,
                                        lingua,
                                        mostraTitoli,
                                        mostraZonaQuartiere,
                                        mostraDescrizione,
                                        mostraDettagli,
                                        mostraBottoni,
                                        mostraAnnunciSalvati,
                                        mostraIcone,
                                        numeroColonne));
                                }
                            }
                        }
                        else
                        {
                            for (int x = 0; x < CantieriSalvati.Length; x++)
                            {
                                AnnuncioCantiere Ann = new AnnuncioCantiere();

                                Ann.Load(connImmo01, Convert.ToInt32(CantieriSalvati[x]),
                                        lingua);
                                listaImmobili.Append(getRigaAnnuncioCantiereLista(Ann,
                                    urlPaginaAnnuncio,
                                    lingua,
                                    mostraTitoli,
                                    mostraZonaQuartiere,
                                    mostraDescrizione,
                                    mostraDettagli,
                                    mostraBottoni,
                                    mostraAnnunciSalvati,
                                    mostraIcone,
                                    numeroColonne));

                            }
                        }

                        string templateRisultatoRicercaHeader = ConfigurationManager.AppSettings["templateRisultatoRicercaCantieriSoluzioniHeader"];
                        string ordinamento = dicitura("Ordinamento", lingua) + ": ";
                        sb.Append(
                            string.Format(templateRisultatoRicercaHeader, TotaleCantieri.ToString(),
                            getOptionOrdinamento(qsOrdinamento, ordinamento, "DataDesc", lingua),
                            getOptionOrdinamento(qsOrdinamento, ordinamento, "DataAsc", lingua),
                            getOptionOrdinamento(qsOrdinamento, ordinamento, "MQDesc", lingua),
                            getOptionOrdinamento(qsOrdinamento, ordinamento, "MQAsc", lingua),
                            getOptionOrdinamento(qsOrdinamento, ordinamento, "PrezzoDesc", lingua),
                            getOptionOrdinamento(qsOrdinamento, ordinamento, "PrezzoAsc", lingua),
                        urlPaginaRisultati,
                        (mostraAnnunciSalvati) ?
                        string.Format(ConfigurationManager.AppSettings["templateRisultatiRicercaCantieriSoluzioniHeaderAnnunciSalvati"],
                        dicitura("CantieriSalvati", lingua), dicitura("NessunCantiereSalvato", lingua)
                        , dicitura("AlertCookieAnnunciPreferiti", lingua), apikey) :
                        ConfigurationManager.AppSettings["templateRisultatiRicercaHeaderNoAnnunciSalvati"],
                        dicitura("AnnunciImmobiliari", lingua),
                        numeroColonne,
                        dicitura("CantiereSalvato", lingua),
                        dicitura("SalvaCantiere", lingua),
                        apikey
                        )
                        );
                        sb.Append(listaImmobili.ToString());
                        sb.Append(getPaginationBlock(apikey, TotaleCantieri, numeroRisultati, startRisultati, urlPaginaRisultati, querystring, lingua, true));

                        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), "racl") : "",
                            dicitura("Invia", lingua),
                            dicitura("MailSendValid", lingua),
                            dicitura("MailSendNoValid", lingua),
                            dicitura("MailSendError", lingua),
                            "racl",
                            dicitura("Invia", lingua),
                            dicitura("StoInviando", lingua),
                            dicitura("Inviato", lingua)
                            );
                        sb.Append(string.Format(ConfigurationManager.AppSettings["templateEmailForm"],
                            dicitura("RichiediInformazioni", lingua),
                            templateEmailFormOl,
                            "racl"));
                        sb.Append(ConfigurationManager.AppSettings["templateEmailScript"]);
                    }
                    else
                    {
                        // messaggio annunci non trovati
                        sb.Append(dicitura("ZeroAnnunci", lingua));
                    }
                }

                connImmo01.Close();
                connImmo01.Dispose();
            }
            catch (Exception ex)
            {
                sb.Clear();
                throw ex;

            }
            sb.Append("<div style=\"clear:both\"></div>");
            return sb.ToString();
        }
Esempio n. 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();
        }