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 HtmlWidgetsRichiestaInfo(string apikey, string clientId = "", string clientClassName = "", string lingua = "it", int idAgenzia = 0, bool mostraPrivacy = false, string urlPrivacy = "", string runtimeId = "") { StringBuilder sb = new StringBuilder(); try { SqlConnection connImmo01 = new SqlConnection(ConfigurationManager.ConnectionStrings["DBIMMO01ConnectionString"].ConnectionString); connImmo01.Open(); using (connImmo01) { var Ag = new Agenzia(); Ag.Load(connImmo01, idAgenzia, apikey, lingua); if (!Ag.Error) { sb.Append(string.Format("<div{0} class=\"gx-contenitore-richiesta-info{1}\">", (clientId != "") ? string.Format(" id=\"{0}\"", clientId) : "", (clientClassName != "") ? string.Format(" {0}", clientClassName) : "" )); sb.Append( string.Format(ConfigurationManager.AppSettings["templateWidgetsRichiestaInfo"], dicitura("RichiediInformazioni", lingua), Ag.Nome, Ag.Indirizzo + " - " + Ag.Comune, (Ag.Telefono != "") ? string.Format("{0}: {1}", dicitura("Telefono", lingua), Ag.Telefono) : "", 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), runtimeId) : "", lingua, dicitura("MailSendValid", lingua), dicitura("MailSendNoValid", lingua), dicitura("MailSendError", lingua), runtimeId, dicitura("Invia", lingua), dicitura("StoInviando", lingua), dicitura("Inviato", lingua), Ag.IDAgenzia ) ); sb.Append("</div>"); } } connImmo01.Close(); connImmo01.Dispose(); } catch (Exception ex) { sb.Clear(); throw ex; } HtmlWidgetResult result = new HtmlWidgetResult(); result.html = sb.ToString(); result.runtimeId = runtimeId; return JsonConvert.SerializeObject(result); }