/** 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); }
private void button1_Click(object sender, EventArgs e) { double montoASerRetirado = 0; WRK_MOVIMIENTOS_CAJA wrkMovimientosCaja = new WRK_MOVIMIENTOS_CAJA(); CAT_MOVIMIENTOS_CAJA catMovimientoSeleccionado = null; CAT_CAJAS cajaActual = null; CorreoElectronico correoElectronico = null; NotificadorCorreoElectronicoFrontController notificadorCorreoElectronicoFrontController = new NotificadorCorreoElectronicoFrontController(); if (this.motivosRetirosComboBox.SelectedIndex < 0) { MessageBox.Show("Motivo retiro no seleccionado."); return; } if (this.montoTotalRetiroTextBox.Text.Length == 0) { MessageBox.Show("Debes ingresar un monto a ser retirado."); return; } montoASerRetirado = Double.Parse(this.montoTotalRetiroTextBox.Text); if (montoASerRetirado <= 0) { MessageBox.Show("El monto a ser retirado debe ser mayor a 0."); return; } //Recupera la caja actual de la que se está realizando el retiro cajaActual = catCajasFrontController.findCajaByCveCaja(DominioAppConstantes.CAJA_CONFIGURADA); catMovimientoSeleccionado = this.listaCatMovimientosCaja.ElementAt(this.motivosRetirosComboBox.SelectedIndex); Console.WriteLine("Movimiento Seleccionado " + this.motivosRetirosComboBox.SelectedIndex + "Clave movimiento " + catMovimientoSeleccionado.INT_CVE_CAT_MOVIMIENTO_CAJA); wrkMovimientosCaja.INT_CVE_CAJA = cajaActual.INT_CVE_CAJA; wrkMovimientosCaja.INT_CVE_PERSONA = entPersona.INT_CVE_PERSONA; wrkMovimientosCaja.INT_CVE_CAT_MOVIMIENTO_CAJA = catMovimientoSeleccionado.INT_CVE_CAT_MOVIMIENTO_CAJA; wrkMovimientosCaja.NUM_MONTO = (float)montoASerRetirado; wrkMovimientosCaja.TXT_COMENTARIO_MOVIMIENTO = comentarioRetiroCajaTextBox.Text; wrkMovimientosCaja.DT_MOVIMIENTO_CAJA = System.DateTime.Now; wrkMovimientosCajaFrontController.almacenarWrkMovimientoCaja(wrkMovimientosCaja); correoElectronico = crearNotificacionRetiro((float)montoASerRetirado, entPersona, catMovimientoSeleccionado, cajaActual, comentarioRetiroCajaTextBox.Text); //Se envia la notificación via correo electrónico ///notificadorCorreoElectronicoFrontController.enviarCorreo(correoElectronico); this.formaFuente.Enabled = true; this.formaFuente.Show(); ((PuntoVentaLandingPage)this.formaFuente).actualizarRetirosDelDia(); this.Close(); }
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"); }