Ejemplo n.º 1
0
 /// <summary>
 /// Metodo manejador del evento del error en la creacion de pdf que muestra en pantalla el error a traves de un MessageBox y lo almacena en el archivo de log
 /// </summary>
 /// <param name="ex"></param>
 public void ManejadorErrorInforme(SavePdfException ex)
 {
     if (this.InvokeRequired)
     {
         ErrorInforme delegado = new ErrorInforme(ManejadorErrorInforme);
         object[]     objs     = new object[] { ex };
         this.Invoke(delegado, objs);
     }
     else
     {
         MessageBox.Show("Hubo errores al crear el Pdf del reporte. Verifique que no tenga un reporte abierto actualmente", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
         logger.saveReport(ex);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Metodo ejecutado en un hilo secundario que gestiona la generación del informe y se comunica paralelamente con el formulario
        /// </summary>
        public void GenerarReporte()
        {
            SavePdfException ex;

            this.ActualizacionInforme.Invoke(33);
            Thread.Sleep(3000);
            try
            {
                this.CrearReporte();
                this.ActualizacionInforme.Invoke(66);
                Thread.Sleep(3000);
                this.ActualizacionInforme.Invoke(100);
                Process.Start(path);
                this.ActualizacionInforme.Invoke(120);
            }
            catch (Exception e)
            {
                ex = new SavePdfException(e.Message);
                this.ActualizacionInforme.Invoke(120);
                this.EnviarErrorInforme(ex);
            }
        }