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

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

                                if (SWA.SmtpHost != "")
                                {

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

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

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

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

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

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

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

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

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

                                }
                            }

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

                r = "ok";
            }
            catch (Exception ex)
            {
                r = "error";
                throw ex;
            }
            return r;
        }
Ejemplo n.º 2
0
        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);
        }