Esempio n. 1
0
        /// <summary>
        /// lista todos los clientes smtp
        /// </summary>
        /// <returns></returns>
        public List <EmailEnviadosInfo> ListXFechaMensaje(DateTime fecha, string mensajecod)
        {
            db.SetParameterValue(commandEmailEnviados, "i_operation", 'S');
            db.SetParameterValue(commandEmailEnviados, "i_option", 'B');

            db.SetParameterValue(commandEmailEnviados, "i_fecha", fecha);
            db.SetParameterValue(commandEmailEnviados, "i_mensaje_cod", mensajecod);

            List <EmailEnviadosInfo> col = new List <EmailEnviadosInfo>();

            IDataReader dr = null;

            EmailEnviadosInfo m = null;

            try
            {
                dr = db.ExecuteReader(commandEmailEnviados);

                while (dr.Read())
                {
                    m = Factory.GetEmailEnviados(dr);

                    col.Add(m);
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Trace.WriteLine(string.Format("NIVI Error: {0} , NameSpace: {1}, Clase: {2}, Metodo: {3} ", ex.Message, MethodBase.GetCurrentMethod().DeclaringType.Namespace, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name));

                bool rethrow = ExceptionPolicy.HandleException(ex, "DataAccess Policy");

                if (rethrow)
                {
                    throw;
                }
            }
            finally
            {
                if (dr != null)
                {
                    dr.Close();
                }
            }

            return(col);
        }
Esempio n. 2
0
        /// <summary>
        /// Actualizar un cliente smtp
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public bool Update(EmailEnviadosInfo item)
        {
            bool transOk = false;

            IDataReader dr = null;

            try
            {
                db.SetParameterValue(commandEmailEnviados, "i_operation", 'U');
                db.SetParameterValue(commandEmailEnviados, "i_option", 'A');

                db.SetParameterValue(commandEmailEnviados, "i_fecha", item.Fecha);
                db.SetParameterValue(commandEmailEnviados, "i_mensaje_cod", item.MensajeCod);
                db.SetParameterValue(commandEmailEnviados, "i_smtpclient_cod", item.SmtpclientCod);
                db.SetParameterValue(commandEmailEnviados, "i_destinatario", item.Destinatario);
                db.SetParameterValue(commandEmailEnviados, "i_copia", item.Copia);
                db.SetParameterValue(commandEmailEnviados, "i_copia_oculta", item.CopiaOculta);
                db.SetParameterValue(commandEmailEnviados, "i_clientes_nit", item.ClientesNit);
                db.SetParameterValue(commandEmailEnviados, "i_SVDN_SUSUARIOS_usuario", item.SVDNSUSUARIOSUsuario);

                dr = db.ExecuteReader(commandEmailEnviados);

                transOk = true;
            }
            catch (Exception ex)
            {
                System.Diagnostics.Trace.WriteLine(string.Format("NIVI Error: {0} , NameSpace: {1}, Clase: {2}, Metodo: {3} ", ex.Message, MethodBase.GetCurrentMethod().DeclaringType.Namespace, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name));

                bool rethrow = ExceptionPolicy.HandleException(ex, "DataAccess Policy");

                if (rethrow)
                {
                    throw;
                }
            }
            finally
            {
                if (dr != null)
                {
                    dr.Close();
                }
            }

            return(transOk);
        }
Esempio n. 3
0
 /// <summary>
 /// Actualizar un cliente smtp
 /// </summary>
 /// <returns></returns>
 public bool Update(EmailEnviadosInfo item)
 {
     return(module.Update(item));
 }
Esempio n. 4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="mensajecod"></param>
        /// <param name="nit"></param>
        /// <returns></returns>
        public bool Enviar(string mensajecod, string stmpclient_cod, string nit, string usuario)
        {
            SmtpClient          client;
            MailMessage         mensaje = new MailMessage();
            EmailMensajesInfo   mensajeInfo;
            EmailSmtpClientInfo smtpclienteInfo;
            EmailEnviadosInfo   enviadoInfo;
            ClienteInfo         cliente;

            String[] result;

            try {
                mensajeInfo = module.ListXCod(mensajecod);
                EmailSmtpClient module2 = new EmailSmtpClient("conexion");
                Cliente         module3 = new Cliente("conexion");
                smtpclienteInfo = module2.ListXCod(stmpclient_cod);

                client = new SmtpClient();

                client.Credentials = new NetworkCredential(smtpclienteInfo.CredencialUser, smtpclienteInfo.CredencialPass);
                client.Port        = smtpclienteInfo.Port;
                client.Host        = smtpclienteInfo.Host;
                client.EnableSsl   = (smtpclienteInfo.Enablessl == "0")?false:true;

                mensaje.From = new MailAddress(smtpclienteInfo.Email, smtpclienteInfo.Nombre, Encoding.UTF8);

                mensaje.Body = mensajeInfo.Contenido_html;

                mensaje.BodyEncoding    = Encoding.UTF8;
                mensaje.IsBodyHtml      = true;
                mensaje.Subject         = mensajeInfo.Asunto;
                mensaje.SubjectEncoding = Encoding.UTF8;

                AlternateView plainView = System.Net.Mail.AlternateView.CreateAlternateViewFromString(mensajeInfo.Contenido_txt, null, "text/plain");
                AlternateView htmlView  = System.Net.Mail.AlternateView.CreateAlternateViewFromString(mensajeInfo.Contenido_html, null, "text/html");

                mensaje.AlternateViews.Add(plainView);
                mensaje.AlternateViews.Add(htmlView);

                result = mensajeInfo.Adjuntos.Split(';');
                foreach (string adjunto in result)
                {
                    if (File.Exists(adjunto))
                    {
                        mensaje.Attachments.Add(new Attachment(adjunto));
                    }
                }

                mensaje.Headers.Add("MIME-Version", "1.0");
                mensaje.Headers.Add("Content-type", "text/html; charset=utf-8");
                mensaje.Headers.Add("From", mensaje.From.DisplayName + "<" + mensaje.From.Address + ">");
                mensaje.Headers.Add("X-Sender", mensaje.From.DisplayName);
                mensaje.Headers.Add("X_Mailer", "DOT NET");
                mensaje.Headers.Add("Return-Path", mensaje.From.Address);

                cliente = module3.ListxNIT(nit);

                string nombrecompleto = cliente.Nombre1 + ((cliente.Nombre2.Length > 0) ? " " + cliente.Nombre2 : String.Empty) + " " + cliente.Apellido1 + ((cliente.Nombre2.Length > 0) ? " " + cliente.Nombre2 : String.Empty);

                mensaje.To.Add(new MailAddress(cliente.Email, nombrecompleto, Encoding.UTF8));

                client.Send(mensaje);

                EmailEnviados module4 = new EmailEnviados("conexion");

                enviadoInfo                      = new EmailEnviadosInfo();
                enviadoInfo.MensajeCod           = mensajeInfo.Cod;
                enviadoInfo.SmtpclientCod        = smtpclienteInfo.Cod;
                enviadoInfo.Destinatario         = cliente.Email + ":" + nombrecompleto;
                enviadoInfo.Copia                = String.Empty;
                enviadoInfo.CopiaOculta          = String.Empty;
                enviadoInfo.ClientesNit          = cliente.Nit;
                enviadoInfo.MensajeCod           = mensajeInfo.Cod;
                enviadoInfo.SVDNSUSUARIOSUsuario = usuario;

                module4.Insert(enviadoInfo);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception caught in CreateCopyMessage(): {0}", ex.ToString());
            }

            return(true);
        }
Esempio n. 5
0
 /// <summary>
 /// Insertar un cliente smtp
 /// </summary>
 /// <returns></returns>
 public bool Insert(EmailEnviadosInfo item)
 {
     return(module.Insert(item));
 }