/** 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(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"); }