//////////////////// 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(); } }