コード例 #1
0
        /**
            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);

        }
コード例 #2
0
        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");
        }