/** Se ejecuta el thread de notificación de ventas a los administradores **/ void IJob.Execute(IJobExecutionContext context) { DateTime fechaInicial = System.DateTime.Now; DateTime fechaFinal = System.DateTime.Now; CorreoElectronico correoElectronico = new CorreoElectronico(CorreoElectronico.TIPO_HTML); TimeSpan timeSpanInicial = new TimeSpan(00, 00, 00); TimeSpan timeSpanFinal = new TimeSpan(24, 59, 59); fechaInicial = fechaInicial.Date + timeSpanInicial; fechaFinal = fechaFinal.Date + timeSpanFinal; //Se inicializa el notificador notificadorCorreoElectronico = new NotificadorCorreoElectronicoFrontController(); //Recuperar lista de Personas para reportar ventas listaPersonasAReportar = entUsuariosFrontController.getListaPersonasPorCveRol(DominioAppConstantes.CVE_ROL_ADMINISTRADOR); Console.WriteLine("La lista de personas tiene una longitud de " + listaPersonasAReportar.Count()); // Se recupera el listado de detalle de ventas por las fechas inicial y final , relacionadas al día actual listaDeDetallesVentasFrontController = wrkVentasFrontController.getListaVentasPorRangoDeFechas(fechaInicial, fechaFinal); //Se crea la notificación via correo electrónico correoElectronico.destinatarios = listaPersonasAReportar; correoElectronico.cuerpoCorreo = createMensajeVentas(listaDeDetallesVentasFrontController); correoElectronico.asuntoCorreo = "Reporte de ventas " + System.DateTime.Now.ToShortDateString() + " Ventas totales: $" + montoTotalVentas + " retiros totales del día : $ " + totalRetirosDelDia ; notificadorCorreoElectronico.enviarCorreo(correoElectronico); }
public void enviarCorreo(CorreoElectronico correo) { smtpClient = new SmtpClient(); smtpClient.Port = 587; smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; smtpClient.UseDefaultCredentials = false; smtpClient.Host = "smtp.gmail.com"; smtpClient.EnableSsl = true; smtpClient.Timeout = 10000; smtpClient.Credentials = new System.Net.NetworkCredential("*****@*****.**", "0910KathyMike"); mailMessage.From = new MailAddress("*****@*****.**"); //Se iteran los destinatarios del correo foreach (ENT_PERSONAS entPersonasIteradas in correo.destinatarios) { mailMessage.To.Add(new MailAddress(entPersonasIteradas.TXT_CORREO_PERSONA)); } mailMessage.Subject = correo.asuntoCorreo; mailMessage.Body = correo.cuerpoCorreo; if (correo.getTipoCorreo() == CorreoElectronico.TIPO_HTML) { mailMessage.IsBodyHtml = true; } if( correo.attachement != null) { mailMessage.Attachments.Add(correo.attachement); } smtpClient.Send(mailMessage); smtpClient.Dispose(); }
public void enviarCorreo(String asunto, String mensaje, List<ENT_PERSONAS> listaDestinatarios) { String fileName = "ReporteRetiros_" + this.fechaInicioDatePicker.Value.Date.ToShortDateString().Replace("/", "-") + "_a_" + this.fechaFinDatePicker.Value.Date.ToShortDateString().Replace("/", "-"); String tmpPath = System.IO.Path.GetTempPath() + fileName + ".xls"; EntUsuariosFrontController entUsuariosFrontController = new EntUsuariosFrontController(); NotificadorCorreoElectronicoFrontController notificador = new NotificadorCorreoElectronicoFrontController(); CorreoElectronico correoElectronico = new CorreoElectronico(CorreoElectronico.TIPO_TEXTO); //Se crea el archivo temporal a ser enviado crearArchivoExcel(tmpPath); correoElectronico.destinatarios = listaDestinatarios; correoElectronico.attachExcelFileToMail(tmpPath, fileName + ".xls"); correoElectronico.asuntoCorreo = asunto; correoElectronico.cuerpoCorreo = mensaje; notificador.enviarCorreo(correoElectronico); //Se debe de elimiar el archivo temporal que se creo para el envio del correo electrónico if (System.IO.File.Exists(tmpPath)) { System.IO.File.Delete(tmpPath); Console.WriteLine("Archivo temporal eliminado con éxito"); } else { Console.WriteLine("Error al escribir el archivo adjunto"); } this.Enabled = true; MessageBox.Show("Reporte enviado con éxito via correo electrónio", "Reporte enviado con éxito via correo electrónio"); }
private CorreoElectronico crearNotificacionRetiro(float monto, ENT_PERSONAS personaQueRetira, CAT_MOVIMIENTOS_CAJA catMotivo, CAT_CAJAS cajaRetiro , String comentarioMovimiento) { CorreoElectronico correoElectronico = new CorreoElectronico(CorreoElectronico.TIPO_HTML); List<ENT_PERSONAS> listaDestinatarios = null; String asunto = "Notificación de retiro " + System.DateTime.Now.ToShortDateString() + " " + System.DateTime.Now.ToShortTimeString() + " por $ " + monto + " " ; String textoCorreo = "<br/><h2>Notificación de retiro <b>" + System.DateTime.Now.ToLongDateString() + " " + System.DateTime.Now.ToLongTimeString()+ "</b> por <b><i>$ " + monto + "</b></i> </h2><br />"; listaDestinatarios = entUsuariosFrontController.getListaPersonasPorCveRol(DominioAppConstantes.CVE_ROL_ADMINISTRADOR); textoCorreo += "<table>"; textoCorreo += "<tr>"; textoCorreo += "<td>Retiro de la caja:</td><td><b>" + cajaRetiro.TXT_NOMBRE_CAJA + "</b></td>"; textoCorreo += "</tr>"; textoCorreo += "<tr>"; textoCorreo += "<td>Cantidad de:</td><td><b>$ " + monto + "</b></td>"; textoCorreo += "</tr>"; textoCorreo += "<tr>"; textoCorreo += "<td>A nombre de:</td><td><b> " + personaQueRetira.TXT_NOMBRE_PERSONA + "</b></td>"; textoCorreo += "</tr>"; textoCorreo += "<tr>"; textoCorreo += "<td>Motivo:</td><td><b> " + catMotivo.TXT_NOMBRE_CAT_MOVIMIENTO_CAJA + "</b></td>"; textoCorreo += "</tr>"; if( comentarioMovimiento.Length > 0) { textoCorreo += "<tr>"; textoCorreo += "<td>Comentario:</td><td><b> " + comentarioMovimiento + "</b></td>"; textoCorreo += "</tr>"; } textoCorreo += "</table>"; //Se construye el correo electrónico. correoElectronico.asuntoCorreo = asunto; correoElectronico.cuerpoCorreo = textoCorreo; correoElectronico.destinatarios = listaDestinatarios; return correoElectronico; }