예제 #1
0
 private void linkDescRegs_Click(object sender, EventArgs e)
 {
     try
     {
         relojAct = MapearDeGrid();
         if (!relojAct.Estado)
         {
             InformarError("El equipo '" + relojAct.Nombre + "' no está conectado.", "Descargar Registros.");
             return;
         }
         List <Fichada> fichadas;
         List <string>  desconocidos;
         LogicRegistros lr = new LogicRegistros();
         logicOperaciones = new LogicOperaciones();
         fichadas         = logicOperaciones.DownloadRegis(relojAct);
         desconocidos     = lr.AgregarRegis(fichadas, relojAct.Formato);
         if (desconocidos.Count > 0)
         {
             LoguearError("Los siguientes legajos son desconocidos: ");
             foreach (string l in desconocidos)
             {
                 LoguearError("Legajo: " + l);
             }
         }
         LoguearInforme("Se descargaron: " + fichadas.Count.ToString() + " registros.");
     }
     catch (AppException appex)
     {
         LoguearError(appex.Message);
     }
     catch (Exception ex)
     {
         InformarError(ex.Message, "Descarga de Registros.");
     }
     finally
     {
         relojAct.ActivarDispositivo();
         relojAct         = null;
         logicOperaciones = null;
     }
 }
예제 #2
0
        public void RutinaBajadaRegistros()
        {
            List <string>  desconocidos = new List <string>();
            List <Fichada> fichadas;
            int            total = 0;
            LogicRegistros lregs = new LogicRegistros();

            lr = new LogicReloj();
            LogicConfigRutinas lcr = new LogicConfigRutinas();

            LoguearInforme("--Inicio de rutina de descarga de registros");
            foreach (Reloj r in equipos)
            {
                if (r.Rutina)
                {
                    try
                    {
                        int cant = 0;
                        LoguearInforme("Conectando con '" + r.Nombre + "'...");
                        r.Conectar();
                        LoguearInforme("El dispositivo: '" + r.Nombre + "' se conectó correctamente");
                        LoguearInforme("Consultando cantidad de registros...");
                        cant = r.GetCantidadRegistros();
                        LoguearInforme(cant.ToString() + " registros por descargar");
                        LoguearInforme("Iniciando descarga de registros...");
                        fichadas = r.DescargarRegistros();
                        LoguearInforme("Se escribieron " + fichadas.Count.ToString() + " registros");
                        LoguearInforme("Insertando registros a la base de datos...");
                        desconocidos = lregs.AgregarRegis(fichadas, relojAct.Formato);
                        LoguearInforme("Registros insertados correctamente en la base de datos.");
                        if (desconocidos.Count > 0)
                        {
                            LoguearInforme("ATENCION: los siguiente legajos no se encontraron en la base de datos:");
                            foreach (string l in desconocidos)
                            {
                                LoguearInforme(l);
                            }
                        }
                        if (lcr.IsBorradoRegs())
                        {
                            LoguearInforme("Borrando registros...");
                            cant = 0;
                            cant = r.BorrarRegistros();
                            LoguearInforme(cant.ToString() + " registros eliminados correctamente.");
                            LoguearInforme("Actualizando borrado en base de datos...");
                            lr.ActualizarBorrado(r, fichadas.Count);
                            LoguearInforme("Borrado actualizado en la base de datos.");
                        }
                        r.Desconectar();
                        LoguearInforme("El dispositivo: '" + r.Nombre + "' se desconectó correctamente");
                        total += fichadas.Count;
                    }
                    catch (Exception ex)
                    {
                        LoguearError("****Se produjo un error con reloj: " + r.Numero.ToString() + " durante la rutina de bajada de registros*****");
                        LoguearError("ERROR: " + ex.Message);
                    }
                }
            }
            LoguearInforme("--Rutina de descarga de registros finalizada.");
        }