/// <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); }
/// <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); }
/// <summary> /// Actualizar un cliente smtp /// </summary> /// <returns></returns> public bool Update(EmailEnviadosInfo item) { return(module.Update(item)); }
/// <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); }
/// <summary> /// Insertar un cliente smtp /// </summary> /// <returns></returns> public bool Insert(EmailEnviadosInfo item) { return(module.Insert(item)); }