예제 #1
0
        public void ejecutarTarea()
        {
            try
            {
                double sleep = this.diferenciaFecha();

                /*Instruccion para realizar el sleep para fechas muy grandes,
                 * ya que la isntruccion solo soporta
                 * valores en integer*/
                while (sleep > 2147483647)
                {
                    sleep -= 2147483647;
                    Thread.Sleep(2147483647);
                }
                Thread.Sleep(Convert.ToInt32(sleep));

                string mensaje = "Se inicio la ejecución del proceso de actualización de " + this.proceso.nombre;
                string titulo  = "Inicio de Proceso";
                this.mensajeEnPantalla(1, titulo, mensaje);

                //actualiza el estado de la tarea, para dejar constancia que se está ejecutando un proceso
                this.actualizarEstado(2);
                this.proceso.actualizacion();
            }
            catch (Exception e) {
                errores er = new errores();
                er.codigo        = "-1";
                er.tarea_idTarea = this.idtarea;
                er.error         = e.ToString();
                er.guardar();
            }
            //actualiza estado para identificar que la tarea se ejecuto, independiente si tubo errores.
            this.actualizarEstado(0);
            if (this.errores.Count() > 0)
            {
                string mensaje = "Finalizó la ejecución del proceso de actualización de " + this.proceso.nombre
                                 + "\n" + "Cantidad de errores: " + this.errores.Count().ToString();
                string titulo = "Fin de Proceso";
                this.mensajeEnPantalla(2, titulo, mensaje);
            }
            else
            {
                string mensaje = "Finalizó exitosamente la ejecución del proceso de actualización de " + this.proceso.nombre;
                string titulo  = "Fin de Proceso";
                this.mensajeEnPantalla(1, titulo, mensaje);
            }

            //se llama nuevamente al proceso de reiniciarHilo, para poder instanciar una nueva tarea
            hilo.reiniciarHilo();
        }
예제 #2
0
        public void ejecutarTarea()
        {
            try
            {
                double sleep = this.diferenciaFecha();
                /*Instruccion para realizar el sleep para fechas muy grandes,
                 * ya que la isntruccion solo soporta
                 valores en integer*/
                while (sleep > 2147483647)
                {
                    sleep -= 2147483647;
                    Thread.Sleep(2147483647);
                }
                Thread.Sleep(Convert.ToInt32(sleep));

                string mensaje = "Se inicio la ejecución del proceso de actualización de " + this.proceso.nombre;
                string titulo = "Inicio de Proceso";
                this.mensajeEnPantalla(1, titulo, mensaje);

                //actualiza el estado de la tarea, para dejar constancia que se está ejecutando un proceso
                this.actualizarEstado(2);
                this.proceso.actualizacion();
            }
            catch (Exception e) {
                errores er = new errores();
                er.codigo = "-1";
                er.tarea_idTarea = this.idtarea;
                er.error = e.ToString();
                er.guardar();
            }
            //actualiza estado para identificar que la tarea se ejecuto, independiente si tubo errores.
            this.actualizarEstado(0);
            if (this.errores.Count() > 0)
            {
                string mensaje = "Finalizó la ejecución del proceso de actualización de " + this.proceso.nombre
                    + "\n" + "Cantidad de errores: " + this.errores.Count().ToString();
                string titulo = "Fin de Proceso";
                this.mensajeEnPantalla(2, titulo, mensaje);
            }
            else {
                string mensaje = "Finalizó exitosamente la ejecución del proceso de actualización de " + this.proceso.nombre;
                string titulo = "Fin de Proceso";
                this.mensajeEnPantalla(1, titulo, mensaje);
            }

            //se llama nuevamente al proceso de reiniciarHilo, para poder instanciar una nueva tarea
            hilo.reiniciarHilo();
        }