예제 #1
0
        //////////////////// DESCARGA ////////////////////////////////////
        private void backgroundDownloadInfo_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
        {
            List <Empleado>    empleados = new List <Empleado>();
            LogicDescargaDatos ldd       = new LogicDescargaDatos();

            try
            {
                backgroundDownloadInfo.ReportProgress(0);
                foreach (DataGridViewRow fila in gridPersonalReloj.Rows)
                {
                    DataGridViewCheckBoxCell cellSeleccion = fila.Cells["SeleccionDisp"] as DataGridViewCheckBoxCell;
                    if (Convert.ToBoolean(cellSeleccion.Value))
                    {
                        Empleado emp = new Empleado();
                        emp.Legajo  = fila.Cells["LegajoDisp"].Value.ToString();
                        emp.Nombre  = fila.Cells["NombreDisp"].Value.ToString();
                        emp.Pin     = fila.Cells["PinDisp"].Value.ToString();
                        emp.Tarjeta = fila.Cells["TarjetaDisp"].Value.ToString();
                        empleados.Add(emp);
                    }
                }
                if (empleados.Count <= 0)
                {
                    base.InformarError("No seleccionó ningún empleado", "Descargar Usuarios.");
                    return;
                }
                int total = 0;
                cantHuellas = 0;
                relojAct.Conectar();
                relojAct.Deshabilitar();
                foreach (Empleado emp in empleados)
                {
                    if (relojAct.Estado)
                    {
                        ldd.ActualizarInfo(emp);                         //Descargo la info del usuario
                        cantHuellas += ldd.AgregarHuella(emp, relojAct); //Descargo las huellas
                        total++;
                        backgroundDownloadInfo.ReportProgress((total * 100) / empleados.Count);
                    }
                }
                backgroundDownloadInfo.ReportProgress(100);
            }
            catch (Exception ex)
            {
                base.InformarError(ex.Message, "Descargar Usuarios.");
            }
            finally
            {
                relojAct.ActivarDispositivo();
                relojAct.Desconectar();
            }
        }
예제 #2
0
 private void linkConnect_Click(object sender, EventArgs e)
 {
     try
     {
         relojAct = MapearDeGrid();
         if (relojAct.Estado)
         {
             InformarError("El dispositivo: '" + relojAct.Nombre + "' ya se encuentra conectado.", "Conectar Reloj.");
             return;
         }
         LoguearInforme("Conectando con '" + relojAct.Nombre + "'...");
         logicOperaciones = new LogicOperaciones();
         if (logicOperaciones.Connect(relojAct))
         {
             LoguearInforme("El dispositivo: '" + relojAct.Nombre + "' se conectó correctamente");
             MapearAGrid(relojAct);
         }
         else
         {
             LoguearError("Ocurrió un error al intentar conectar con: '" + relojAct.Nombre);
         }
     }
     catch (AppException appex)
     {
         LoguearError(appex.Message);
     }
     finally
     {
         relojAct.ActivarDispositivo();
         relojAct         = null;
         logicOperaciones = null;
     }
 }
예제 #3
0
 private void linkReiniciarDisp_Click(object sender, EventArgs e)
 {
     try
     {
         relojAct = MapearDeGrid();
         if (!relojAct.Estado)
         {
             InformarError("El equipo '" + relojAct.Nombre + "' no está conectado.", "Reiniciar Dispositivo.");
             return;
         }
         logicOperaciones = new LogicOperaciones();
         logicOperaciones.Reboot(relojAct);
         LoguearInforme("Se ha reiniciado correctamente el reloj: " + relojAct.Nombre);
     }
     catch (AppException appex)
     {
         LoguearError(appex.Message);
     }
     finally
     {
         relojAct.ActivarDispositivo();
         relojAct         = null;
         logicOperaciones = null;
     }
 }
예제 #4
0
 private void linkInicializar_Click(object sender, EventArgs e)
 {
     try
     {
         relojAct = MapearDeGrid();
         if (!relojAct.Estado)
         {
             InformarError("El equipo '" + relojAct.Nombre + "' no está conectado.", "Incializar Dispositivo.");
             return;
         }
         logicOperaciones = new LogicOperaciones();
         logicOperaciones.InitializeDevice(relojAct);
         LoguearInforme("Se ha inicializado el equipo: " + relojAct.Nombre);
     }
     catch (AppException appex)
     {
         LoguearError(appex.Message);
     }
     finally
     {
         relojAct.ActivarDispositivo();
         relojAct         = null;
         logicOperaciones = null;
     }
 }
예제 #5
0
 private void linkBorrarAdmin_Click(object sender, EventArgs e)
 {
     try
     {
         relojAct = MapearDeGrid();
         if (!relojAct.Estado)
         {
             InformarError("El equipo '" + relojAct.Nombre + "' no está conectado.", "Eliminar Administradores.");
             return;
         }
         if (!base.Question("Está seguro que desea eliminar los administradores del equipo?", "Eliminar Administradores."))
         {
             return;
         }
         logicOperaciones = new LogicOperaciones();
         logicOperaciones.DeleteAdmin(relojAct);
         LoguearInforme("Todos los administradores fuero borrados del reloj: " + relojAct.Nombre);
     }
     catch (AppException appex)
     {
         LoguearError(appex.Message);
     }
     finally
     {
         relojAct.ActivarDispositivo();
         relojAct         = null;
         logicOperaciones = null;
     }
 }
예제 #6
0
 private void linkSincHora_Click(object sender, EventArgs e)
 {
     try
     {
         relojAct = MapearDeGrid();
         if (!relojAct.Estado)
         {
             InformarError("El equipo '" + relojAct.Nombre + "' no está conectado.", "Sincronizar Hora.");
             return;
         }
         logicOperaciones = new LogicOperaciones();
         logicOperaciones.SincHora(relojAct);
         LoguearInforme("Se sincronizó correctamente la hora con el reloj: '" + relojAct.Nombre + "'");
     }
     catch (AppException appex)
     {
         LoguearError(appex.Message);
     }
     finally
     {
         relojAct.ActivarDispositivo();
         relojAct         = null;
         logicOperaciones = null;
     }
 }
예제 #7
0
 private void linkDesconnect_Click(object sender, EventArgs e)
 {
     try
     {
         relojAct = MapearDeGrid();
         if (!relojAct.Estado)
         {
             InformarError("El dispositivo: '" + relojAct.Nombre + "' ya se encuentra desconectado.", "Desconectar Reloj.");
             return;
         }
         logicOperaciones = new LogicOperaciones();
         logicOperaciones.Disconnect(relojAct);
         MapearAGrid(relojAct);
         LoguearInforme("El dispositivo: '" + relojAct.Nombre + "' se desconectó correctamente");
     }
     catch (AppException appex)
     {
         LoguearError(appex.Message);
     }
     finally
     {
         relojAct.ActivarDispositivo();
         relojAct         = null;
         logicOperaciones = null;
     }
 }
예제 #8
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;
     }
 }
예제 #9
0
 private void linkBorrarRegs_Click(object sender, EventArgs e)
 {
     try
     {
         relojAct = MapearDeGrid();
         if (!relojAct.Estado)
         {
             InformarError("El equipo '" + relojAct.Nombre + "' no está conectado.", "Borrar Registros.");
             return;
         }
         if (base.Question("¿Está seguro que desea eliminar todos los registros del dispositivo?", "Borrar Registros."))
         {
             logicOperaciones = new LogicOperaciones();
             int cant = logicOperaciones.DeleteRegis(relojAct);
             lr = new LogicReloj();
             lr.ActualizarBorrado(relojAct, cant); //Guarda la info. del borrado en la BD
             LoguearInforme("Se borraron " + cant.ToString() + " registros del reloj: '" + relojAct.Nombre + "'");
         }
         else
         {
             return;
         }
     }
     catch (AppException appex)
     {
         LoguearError(appex.Message);
     }
     catch (Exception ex)
     {
         InformarError(ex.Message, "Borrado de Registros.");
     }
     finally
     {
         relojAct.ActivarDispositivo();
         relojAct         = null;
         logicOperaciones = null;
     }
 }