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; }
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(); }
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(); }