Exemple #1
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 #2
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 #3
0
        public static string HtmlMotoreRicercaImmobiliConfini(
            string apikey,
            string lingua,
            string urlPaginaAnnuncio,
            float LatitudineNordEst,
            float LongitudineNordEst,
            float LatitudineSudOvest,
            float LongitudineSudOvest
            )
        {
            CultureInfo cul = new CultureInfo("it-IT");
            Thread.CurrentThread.CurrentCulture = cul;
            SqlConnection connImmo01 = new SqlConnection(ConfigurationManager.ConnectionStrings["DBIMMO01ConnectionString"].ConnectionString);
            JsonImmobiliConfini jics = new JsonImmobiliConfini();
            jics.immobiliConfiniArray = new ArrayList();
            connImmo01.Open();

            using (connImmo01)
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.CommandText = "[AgenzieSitiWeb_Immobili_ElencoPerConfini]";
                    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("@NumeroRisultati", SqlDbType.Int).Value = ConfigurationManager.AppSettings["NumeroRisultatiMarkersMappa"];
                    cmd.Parameters.Add("@LatitudineNordEst", SqlDbType.Float).Value = LatitudineNordEst;
                    cmd.Parameters.Add("@LongitudineNordEst", SqlDbType.Float).Value = LongitudineNordEst;
                    cmd.Parameters.Add("@LatitudineSudOvest", SqlDbType.Float).Value = LatitudineSudOvest;
                    cmd.Parameters.Add("@LongitudineSudOvest", SqlDbType.Float).Value = LongitudineSudOvest;
                    var adapter = new SqlDataAdapter();
                    adapter.SelectCommand = cmd;
                    DataTable dTable = new DataTable();
                    adapter.Fill(dTable);
                    foreach (DataRow dRow in dTable.Rows)
                    {
                        int IDImmobile = (int)dRow["IDImmobile"];
                        Annuncio Ann = new Annuncio();
                        Ann.Load(connImmo01, IDImmobile, lingua);
                        JsonImmobileConfine jic = new JsonImmobileConfine();
                        jic.id = Ann.IDImmobile;
                        jic.lat = Ann.Latitudine;
                        jic.lng = Ann.Longitudine;
                        jic.title = Ann.TipologiaContrattoComune;
                        StringBuilder images = new StringBuilder();
                        if (Ann.ExistsFoto)
                        {
                            using (SqlCommand cmdImmobiliFoto = new SqlCommand())
                            {
                                cmdImmobiliFoto.CommandText = "AgenzieSitiWeb_ImmobiliFoto_Elenco";
                                cmdImmobiliFoto.CommandType = CommandType.StoredProcedure;
                                cmdImmobiliFoto.Connection = connImmo01;
                                cmdImmobiliFoto.CommandTimeout = 600;
                                cmdImmobiliFoto.Parameters.Add("@IDImmobile", SqlDbType.Int).Value = Ann.IDImmobile;
                                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)
                                {
                                    images.Append("<li>" + string.Format(ConfigurationManager.AppSettings["percorsoFoto"],
                                        Ann.IDAgenzia.ToString(), dRowImmobiliFoto["URLFoto"]) + "</li>");

                                }
                                dTableImmobiliFoto.Dispose();
                                jic.html = string.Format(ConfigurationManager.AppSettings["templateMotoreMappaInfoWindow"],
                                    images.ToString(),
                                    (Ann.ExistsFoto) ? string.Format(" style=\"background-image:url('{0}')\" ",
                                    string.Format(ConfigurationManager.AppSettings["percorsoFoto"],
                                        Ann.IDAgenzia.ToString(), Ann.UrlFoto1)
                                    ) : "",
                                    (Ann.Prezzo > 0) ? string.Format("{0:C}", Ann.Prezzo) : dicitura("PrezzoNonDisponibile", lingua),
                                    Functions.shortenText(jic.title, 36),
                                    getLinkAnnuncioImmobile(Ann, urlPaginaAnnuncio),
                                    (Ann.ExistsFoto) ? ConfigurationManager.AppSettings["templateMotoreMappaInfoWindowNavArrows"] : "",
                                    (Ann.ExistsFoto) ? " gx-map-photo-no-image" : "",
                                    Ann.IDImmobile
                                    );
                            }
                        }
                        jics.immobiliConfiniArray.Add(jic);
                    }
                }
            }
            return JsonConvert.SerializeObject(jics);
        }
Exemple #4
0
        public static string HtmlAnnunciVetrinaGrid(string apikey,
            string clientId,
            string clientClassName,
            string lingua,
            string urlPaginaAnnuncio,
            int numeroMaxRisultati,
            int numeroColonne,
            bool dettagliOverlay,
            int categoria,
            bool filtraNuovaCostruzione,
            bool filtraPregio,
            string runtimeId
            )
        {
            // defaults
            if (categoria == null)
            {
                categoria = 0;
            }
            StringBuilder sb = new StringBuilder();
            sb.Append(string.Format("<div{0} class=\"gx-contenitore-vetrina-grid{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)
                {
                    using (SqlCommand cmdImmobiliVetrinaElenco = new SqlCommand())
                    {
                        cmdImmobiliVetrinaElenco.CommandText = "AgenzieSitiWeb_Immobili_ElencoVetrina";
                        cmdImmobiliVetrinaElenco.CommandType = CommandType.StoredProcedure;
                        cmdImmobiliVetrinaElenco.Connection = connImmo01;
                        cmdImmobiliVetrinaElenco.CommandTimeout = 600;
                        cmdImmobiliVetrinaElenco.Parameters.Add("@ApiKey", SqlDbType.UniqueIdentifier).Value = new System.Data.SqlTypes.SqlGuid(apikey);
                        cmdImmobiliVetrinaElenco.Parameters.Add("@NumeroRisultati", SqlDbType.Int).Value = numeroMaxRisultati;
                        cmdImmobiliVetrinaElenco.Parameters.Add("@Lingua", SqlDbType.Char).Value = lingua;
                        cmdImmobiliVetrinaElenco.Parameters.Add("@IDCategoria", SqlDbType.TinyInt).Value = categoria;
                        cmdImmobiliVetrinaElenco.Parameters.Add("@NuovaCostruzione", SqlDbType.Bit).Value = filtraNuovaCostruzione;
                        cmdImmobiliVetrinaElenco.Parameters.Add("@Pregio", SqlDbType.Bit).Value = filtraPregio;
                        var adaptImmobiliVetrinaElenco = new SqlDataAdapter();
                        adaptImmobiliVetrinaElenco.SelectCommand = cmdImmobiliVetrinaElenco;
                        DataTable dTableImmobiliVetrinaElenco = new DataTable();
                        adaptImmobiliVetrinaElenco.Fill(dTableImmobiliVetrinaElenco);
                        adaptImmobiliVetrinaElenco.Dispose();
                        if (dTableImmobiliVetrinaElenco.Rows.Count > 0)
                        {
                            sb.Append(ConfigurationManager.AppSettings["templateVetrinaGridHeader"]);
                            int rowNumber = 0;
                            foreach (DataRow dRow in dTableImmobiliVetrinaElenco.Rows)
                            {
                                try
                                {
                                    Annuncio Ann = new Annuncio();
                                    int IDImmobile = (int)dRow["IDImmobile"];
                                    Ann.Load(connImmo01, IDImmobile, lingua);

                                    string item = string.Format(ConfigurationManager.AppSettings["templateVetrinaGridItem"],
                                        numeroColonne.ToString(),
                                        getLinkAnnuncioImmobile(Ann, urlPaginaAnnuncio),
                                        string.Format(ConfigurationManager.AppSettings["percorsoFoto"], Ann.IDAgenzia.ToString(), Ann.UrlFoto1),
                                        string.Format("<h1>{0}</h1>", Ann.TipologiaContrattoComune),
                                        (Ann.Prezzo > 0) ? string.Format("<span class=\"gx-vetrina-vetrina-prezzo\">{0:C}</span>", Ann.Prezzo) : string.Empty,
                                        (Ann.MQ > 0) ? string.Format("<span>{0} {1}", Ann.MQ, dicitura("MQ", lingua)) : string.Empty,
                                        (Ann.NrLocali > 0) ? string.Format("{0} {1}", Ann.NrLocali, dicitura("Locali", lingua)) : string.Empty,
                                        (dettagliOverlay) ? "-overlay" : string.Empty

                                        );
                                    sb.Append(item);
                                    rowNumber += 1;
                                    if (rowNumber % numeroColonne == 0)
                                    {
                                        sb.Append("<div style=\"clear:both;\"></div>");
                                    }
                                }
                                catch (Exception Ex)
                                {

                                }

                            }
                            sb.Append(ConfigurationManager.AppSettings["templateVetrinaGridFooter"]);
                        }
                    }

                }
            }
            catch (Exception Ex) { sb.Clear(); }
            sb.Append("<div style=\"clear:both\"></div>");
            sb.Append("</div>");
            HtmlWidgetResult result = new HtmlWidgetResult();
            result.html = sb.ToString();
            result.runtimeId = runtimeId;
            return JsonConvert.SerializeObject(result);
        }
Exemple #5
0
        public static string HtmlAnnuncio(string apikey,
            int IDImmobile,
            string pathName,
            string clientId,
            string clientClassName,
            string lingua,
            string urlPaginaAnnuncio,
            string urlPaginaCantiere,
            bool mostraTitolo,
            bool mostraDescrizione,
            bool mostraBottoneLeggiTutto,
            bool mostraBottoneCantiere,
            bool mostraMappa,
            bool mostraDettagli,
            bool mostraGallery,
            bool mostraVideo,
            bool mostraPlanimetrie,
            bool mostraVirtualTour,
            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)
                {
                    Annuncio Ann = new Annuncio();
                    if (IDImmobile == 0 && urlPaginaAnnuncio.Contains("{idimmobile}"))
                    {
                        IDImmobile = findIDInPathName(pathName, urlPaginaAnnuncio, "{idimmobile}");
                    }

                    Ann.Load(connImmo01, IDImmobile, lingua);

                    if (Ann.Error == false)
                    {
                        int nrPiantine = 0;
                        DataTable dTableImmobiliPiantine = new DataTable();
                        using (SqlCommand cmdImmobiliPiantine = new SqlCommand())
                        {
                            cmdImmobiliPiantine.CommandText = "AgenzieSitiWeb_ImmobiliFoto_Elenco";
                            cmdImmobiliPiantine.CommandType = CommandType.StoredProcedure;
                            cmdImmobiliPiantine.Connection = connImmo01;
                            cmdImmobiliPiantine.CommandTimeout = 600;
                            cmdImmobiliPiantine.Parameters.Add("@IDImmobile", SqlDbType.Int).Value = Ann.IDImmobile;
                            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 : Ann.TipologiaContrattoComune,
                            Ann.PrezzoLocaliMqRif);
                            sb.Append(r1);
                        }
                        if (mostraBottoneCantiere && Ann.IDCantiere > 0 && urlPaginaCantiere != "")
                        {
                            AnnuncioCantiere AnnCantiere = new AnnuncioCantiere();
                            AnnCantiere.Load(connImmo01, Ann.IDCantiere, lingua);
                            sb.Append(string.Format(ConfigurationManager.AppSettings["templateAnnuncioBottoneCantiere"],
                                getLinkAnnuncioCantiere(AnnCantiere, urlPaginaCantiere),
                                dicitura("VaiAlCantiere", lingua)
                                ));
                        }
                        if ((mostraGallery && Ann.ExistsFoto) ||
                            (mostraVideo && Ann.ExistsVideo) ||
                            mostraPlanimetrie || mostraVirtualTour)
                        {
                            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 (mostraVirtualTour && Ann.ExistsVirtualTour)
                            {
                                string navRowVirtualTour = string.Format(ConfigurationManager.AppSettings["templateAnnuncioTabNavRow"],
                                    Ann.UrlVirtualTour, "gx-tab-virtual", dicitura("VirtualTour", lingua), "target=\"_blank\"");
                                navRows1.Append(navRowVirtualTour);
                            }
                            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_ImmobiliFoto_Elenco";
                                cmdImmobiliFoto.CommandType = CommandType.StoredProcedure;
                                cmdImmobiliFoto.Connection = connImmo01;
                                cmdImmobiliFoto.CommandTimeout = 600;
                                cmdImmobiliFoto.Parameters.Add("@IDImmobile", SqlDbType.Int).Value = Ann.IDImmobile;
                                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 ||
                            (mostraMappa && Ann.ExistsMappa) ||
                            mostraRichiestaInfo)
                        {
                            StringBuilder navRows2 = new StringBuilder();
                            StringBuilder rScriptPageIds2 = new StringBuilder();
                            if (mostraDettagli)
                            {
                                string navRowDettagli = string.Format(ConfigurationManager.AppSettings["templateAnnuncioTabNavRow"],
                                    "#gx-5", "gx-tab-dettagli", dicitura("Dettagli", lingua), "");
                                navRows2.Append(navRowDettagli);
                                rScriptPageIds2.Append("'gx-5'");
                            }
                            if (mostraRichiestaInfo)
                            {
                                string navRowRichiestaInfo = string.Format(ConfigurationManager.AppSettings["templateAnnuncioTabNavRow"],
                                    "#gx-6", "gx-tab-mail", dicitura("Informazioni", lingua), "");
                                navRows2.Append(navRowRichiestaInfo);
                                if (rScriptPageIds2.ToString() != "") { rScriptPageIds2.Append(", "); }
                                rScriptPageIds2.Append("'gx-6'");
                            }
                            if (mostraMappa && Ann.ExistsMappa)
                            {
                                string navRowMappa = string.Format(ConfigurationManager.AppSettings["templateAnnuncioTabNavRow"],
                                    "#gx-7", "gx-tab-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(), ""));
                            }
                            sbScript.Append(string.Format("var gxTab2 = gxTabs.gxSetTabs('page', [{0}]);",
                                rScriptPageIds2.ToString()));
                        }
                        if (mostraDettagli)
                        {
                            string dettagli = getAnnuncioDettagli(Ann.IDImmobile, lingua, false);

                            sb.Append(
                                string.Format(ConfigurationManager.AppSettings["templateAnnuncioDettagli"],
                                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}", "");
                            sb.Append(mappa);
                        }
                        if (mostraRichiestaInfo)
                        {
                            string richiestaInfo = string.Format(ConfigurationManager.AppSettings["templateAnnuncioRichiestaInfo"],
                                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), "ari") : "",
                                lingua,
                                Ann.IDImmobile,
                                Ann.IDAgenzia,
                                dicitura("Invia", lingua),
                                dicitura("MailSendValid", lingua),
                                dicitura("MailSendNoValid", lingua),
                                dicitura("MailSendError", lingua),
                                "",
                                "ari", // annuncio richiesta info
                                dicitura("Invia", lingua),
                                dicitura("StoInviando", lingua),
                                dicitura("Inviato", lingua)
                                );
                            sb.Append(richiestaInfo);
                        }
                    }
                    else { sb.Clear(); }
                }
            }
            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();
        }
Exemple #6
0
        public static string HtmlAnnunciLista(string apikey,
            string urlPaginaRisultati,
            string urlPaginaAnnuncio,
            string urlPaginaCantiere,
            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 paramAnnunciSalvati
            )
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("<div class=\"gx-contenitore-lista-annunci\">");
            if (querystring == null || querystring == "")
            {
                querystring = "?";
            }
            if (paramSortBy == null)
            {
                paramSortBy = "";
            }
            if (urlPaginaRisultati == null)
            {
                urlPaginaRisultati = "";
            }
            if (urlPaginaAnnuncio == null)
            {
                urlPaginaAnnuncio = "";
            }
            if (urlPaginaCantiere == null)
            {
                urlPaginaCantiere = "";
            }
            if (paramAnnunciSalvati == null)
            {
                paramAnnunciSalvati = "";
            }

            try
            {
                SqlConnection connImmo01 = new SqlConnection(ConfigurationManager.ConnectionStrings["DBIMMO01ConnectionString"].ConnectionString);

                connImmo01.Open();

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

                        TotaleAnnunci = AnnunciSalvati.Length;
                    }
                    else
                    {
                        using (SqlCommand cmdImmobiliCount = new SqlCommand())
                        {
                            cmdImmobiliCount.CommandText = "AgenzieSitiWeb_Immobili_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("@Contratto", SqlDbType.Char).Value = getQuerystringValue(querystring, "Contratto", "");
                            cmdImmobiliCount.Parameters.Add("@Zona", SqlDbType.NVarChar).Value = getQuerystringValue(querystring, "Zona", "");
                            cmdImmobiliCount.Parameters.Add("@Riferimento", SqlDbType.NVarChar).Value = getQuerystringValue(querystring, "Riferimento", "");
                            cmdImmobiliCount.Parameters.Add("@ClasseEnergetica", SqlDbType.Char).Value = getQuerystringValue(querystring, "ClasseEnergetica", "");
                            // 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, "@MQMin", SqlDbType.Int, querystring, "SuperficieMin");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@MQMax", SqlDbType.Int, querystring, "SuperficieMax");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@NrLocali", SqlDbType.TinyInt, querystring, "Locali");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@NrVani", SqlDbType.Decimal, querystring, "Vani");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@NrBagni", SqlDbType.Char, querystring, "Bagni");
                            if (getQuerystringValue(querystring, "FiltraNuovaCostruzione", null) == "true")
                            {
                                cmdImmobiliCount.Parameters.Add("@NuovaCostruzione", SqlDbType.Bit).Value = true;
                            }
                            else
                            {
                                addParameterOrNullInProcedure(cmdImmobiliCount, "@NuovaCostruzione", SqlDbType.Bit, querystring, "NuovaCostruzione");
                            }
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@Ammobiliato", SqlDbType.Bit, querystring, "Arredato");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@Ascensore", SqlDbType.Bit, querystring, "Ascensore");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@Asta", SqlDbType.Bit, querystring, "Asta");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@Balcone", SqlDbType.Bit, querystring, "Balcone");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@Box", SqlDbType.Bit, querystring, "Box");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@Caminetto", SqlDbType.Bit, querystring, "Caminetto");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@Cantina", SqlDbType.Bit, querystring, "Cantina");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@Giardino", SqlDbType.Bit, querystring, "Giardino");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@PostoAuto", SqlDbType.Bit, querystring, "Parcheggio");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@Permuta", SqlDbType.Bit, querystring, "Permuta");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@Piscina", SqlDbType.Bit, querystring, "Piscina");
                            if (getQuerystringValue(querystring, "FiltraPregio", null) == "true")
                            {
                                cmdImmobiliCount.Parameters.Add("@Pregio", SqlDbType.Bit).Value = true;
                            }
                            else
                            {
                                addParameterOrNullInProcedure(cmdImmobiliCount, "@Pregio", SqlDbType.Bit, querystring, "Pregio");
                            }
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@Riscaldamento", SqlDbType.Bit, querystring, "RiscaldamentoAutonomo");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@Soffitta", SqlDbType.Bit, querystring, "Soffitta");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@Taverna", SqlDbType.Bit, querystring, "Taverna");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@CentroLatitudine", SqlDbType.Float, querystring, "CentroLatitudine");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@CentroLongitudine", SqlDbType.Float, querystring, "CentroLongitudine");
                            addParameterOrNullInProcedure(cmdImmobiliCount, "@RaggioMetri", SqlDbType.Float, querystring, "RaggioMetri");

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

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

                    if (TotaleAnnunci > 0)
                    {
                        // trovati annunci

                        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" ||
                            Ordinamento == "NrLocali")
                        {
                            SortBy = Ordinamento;
                        }
                        int startRisultati = Convert.ToInt32(getQuerystringValue(querystring, "StartRisultati", "0"));
                        if (paramStartRisultati > -1)
                        {
                            startRisultati = paramStartRisultati;
                        }
                        if (startRisultati > TotaleAnnunci - 1)
                        {
                            startRisultati = 0;
                        }
                        StringBuilder listaImmobili = new StringBuilder();
                        if (AnnunciSalvati == null)
                        {
                            using (SqlCommand cmdImmobiliElenco = new SqlCommand())
                            {
                                cmdImmobiliElenco.CommandText = "AgenzieSitiWeb_Immobili_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("@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("@Contratto", SqlDbType.Char).Value = getQuerystringValue(querystring, "Contratto", "");
                                cmdImmobiliElenco.Parameters.Add("@Zona", SqlDbType.NVarChar).Value = getQuerystringValue(querystring, "Zona", "");
                                cmdImmobiliElenco.Parameters.Add("@Riferimento", SqlDbType.NVarChar).Value = getQuerystringValue(querystring, "Riferimento", "");
                                cmdImmobiliElenco.Parameters.Add("@ClasseEnergetica", SqlDbType.Char).Value = getQuerystringValue(querystring, "ClasseEnergetica", "");

                                // 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, "@MQMin", SqlDbType.Int, querystring, "SuperficieMin");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@MQMax", SqlDbType.Int, querystring, "SuperficieMax");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@NrLocali", SqlDbType.TinyInt, querystring, "Locali");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@NrVani", SqlDbType.Decimal, querystring, "Vani");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@NrBagni", SqlDbType.Char, querystring, "Bagni");
                                if (getQuerystringValue(querystring, "FiltraNuovaCostruzione", null) == "true")
                                {
                                    cmdImmobiliElenco.Parameters.Add("@NuovaCostruzione", SqlDbType.Bit).Value = true;
                                }
                                else
                                {
                                    addParameterOrNullInProcedure(cmdImmobiliElenco, "@NuovaCostruzione", SqlDbType.Bit, querystring, "NuovaCostruzione");
                                }
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@Ammobiliato", SqlDbType.Bit, querystring, "Arredato");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@Ascensore", SqlDbType.Bit, querystring, "Ascensore");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@Asta", SqlDbType.Bit, querystring, "Asta");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@Balcone", SqlDbType.Bit, querystring, "Balcone");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@Box", SqlDbType.Bit, querystring, "Box");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@Caminetto", SqlDbType.Bit, querystring, "Caminetto");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@Cantina", SqlDbType.Bit, querystring, "Cantina");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@Giardino", SqlDbType.Bit, querystring, "Giardino");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@PostoAuto", SqlDbType.Bit, querystring, "Parcheggio");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@Permuta", SqlDbType.Bit, querystring, "Permuta");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@Piscina", SqlDbType.Bit, querystring, "Piscina");
                                if (getQuerystringValue(querystring, "FiltraPregio", null) == "true")
                                {
                                    cmdImmobiliElenco.Parameters.Add("@Pregio", SqlDbType.Bit).Value = true;
                                }
                                else
                                {
                                    addParameterOrNullInProcedure(cmdImmobiliElenco, "@Pregio", SqlDbType.Bit, querystring, "Pregio");
                                }
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@Riscaldamento", SqlDbType.Bit, querystring, "RiscaldamentoAutonomo");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@Soffitta", SqlDbType.Bit, querystring, "Soffitta");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@Taverna", SqlDbType.Bit, querystring, "Taverna");

                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@CentroLatitudine", SqlDbType.Float, querystring, "CentroLatitudine");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@CentroLongitudine", SqlDbType.Float, querystring, "CentroLongitudine");
                                addParameterOrNullInProcedure(cmdImmobiliElenco, "@RaggioMetri", SqlDbType.Float, querystring, "RaggioMetri");

                                var adaptImmobiliElenco = new SqlDataAdapter();
                                adaptImmobiliElenco.SelectCommand = cmdImmobiliElenco;
                                DataTable dTableImmobiliElenco = new DataTable();
                                adaptImmobiliElenco.Fill(dTableImmobiliElenco);
                                foreach (DataRow dRowImmobile in dTableImmobiliElenco.Rows)
                                {
                                    Annuncio Ann = new Annuncio();
                                    Ann.Load(connImmo01, (Int32)dRowImmobile["IDImmobile"], lingua);
                                    AnnuncioCantiere AnnCantiere = new AnnuncioCantiere();
                                    if (urlPaginaCantiere != "" && Ann.IDCantiere > 0)
                                    {
                                        AnnCantiere.Load(connImmo01, Ann.IDCantiere, lingua);
                                    }
                                    listaImmobili.Append(getRigaAnnuncioLista(Ann,
                                        AnnCantiere,
                                        urlPaginaAnnuncio,
                                        urlPaginaCantiere,
                                        lingua,
                                        mostraTitoli,
                                        mostraZonaQuartiere,
                                        mostraDescrizione,
                                        mostraDettagli,
                                        mostraBottoni,
                                        mostraAnnunciSalvati,
                                        mostraIcone,
                                        numeroColonne));
                                }
                            }
                        }
                        else
                        {
                            for (int x = 0; x < AnnunciSalvati.Length; x++)
                            {
                                Annuncio Ann = new Annuncio();
                                Ann.Load(connImmo01, Convert.ToInt32(AnnunciSalvati[x]), lingua);
                                AnnuncioCantiere AnnCantiere = new AnnuncioCantiere();
                                if (urlPaginaCantiere != "" && Ann.IDCantiere > 0)
                                {
                                    AnnCantiere.Load(connImmo01, Ann.IDCantiere, lingua);
                                }
                                listaImmobili.Append(getRigaAnnuncioLista(Ann,
                                    AnnCantiere,
                                    urlPaginaAnnuncio,
                                    urlPaginaCantiere,
                                    lingua,
                                    mostraTitoli,
                                    mostraZonaQuartiere,
                                    mostraDescrizione,
                                    mostraDettagli,
                                    mostraBottoni,
                                    mostraAnnunciSalvati,
                                    mostraIcone,
                                    numeroColonne));
                            }
                        }

                        string templateRisultatoRicercaHeader = ConfigurationManager.AppSettings["templateRisultatoRicercaHeader"];
                        string ordinamento = dicitura("Ordinamento", lingua) + ": ";
                        sb.Append(
                            string.Format(templateRisultatoRicercaHeader, TotaleAnnunci.ToString(),
                            getOptionOrdinamento(qsOrdinamento, ordinamento, "DataDesc", lingua),
                            getOptionOrdinamento(qsOrdinamento, ordinamento, "DataAsc", lingua),
                            getOptionOrdinamento(qsOrdinamento, ordinamento, "MQDesc", lingua),
                            getOptionOrdinamento(qsOrdinamento, ordinamento, "MQAsc", lingua),
                            getOptionOrdinamento(qsOrdinamento, ordinamento, "NrLocaliDesc", lingua),
                            getOptionOrdinamento(qsOrdinamento, ordinamento, "NrLocaliAsc", lingua),
                            getOptionOrdinamento(qsOrdinamento, ordinamento, "PrezzoDesc", lingua),
                            getOptionOrdinamento(qsOrdinamento, ordinamento, "PrezzoAsc", lingua),
                        urlPaginaRisultati,
                        (mostraAnnunciSalvati) ?
                        string.Format(ConfigurationManager.AppSettings["templateRisultatiRicercaHeaderAnnunciSalvati"],
                        dicitura("AnnunciSalvati", lingua), dicitura("NessunAnnuncioSalvato", lingua)
                        , dicitura("AlertCookieAnnunciPreferiti", lingua), apikey) :
                        ConfigurationManager.AppSettings["templateRisultatiRicercaHeaderNoAnnunciSalvati"],
                        dicitura("AnnunciImmobiliari", lingua),
                        numeroColonne,
                        dicitura("AnnuncioSalvato", lingua),
                        dicitura("SalvaAnnuncio", lingua),
                        apikey
                        )
                        );
                        sb.Append(listaImmobili.ToString());
                        sb.Append(getPaginationBlock(apikey, TotaleAnnunci, numeroRisultati, startRisultati, urlPaginaRisultati, querystring, lingua, false));

                        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), "ral") : "",
                            dicitura("Invia", lingua),
                            dicitura("MailSendValid", lingua),
                            dicitura("MailSendNoValid", lingua),
                            dicitura("MailSendError", lingua),
                            "ral",
                            dicitura("Invia", lingua),
                            dicitura("StoInviando", lingua),
                            dicitura("Inviato", lingua)
                            );
                        sb.Append(string.Format(ConfigurationManager.AppSettings["templateEmailForm"],
                            dicitura("RichiediInformazioni", lingua),
                            templateEmailFormOl,
                            "ral"));
                        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();
        }