コード例 #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 btnUsuarios_Click(object sender, EventArgs e)
        {
            if (cbRelojes.SelectedIndex < 0)
            {
                base.InformarError("Por favor seleccione un dispositivo", "Sincronizar Datos.");
            }
            // SI SE UTILIZO OTRO RELOJ LO DESCONECTO //
            if (relojAct != null && !relojAct.Estado)
            {
                relojAct.Desconectar();
            }

            try
            {
                gridPersonalReloj.AutoGenerateColumns = false;  // Para que respete las columnas ya diseñadas
                relojAct = (Reloj)cbRelojes.SelectedItem;
                relojAct.Conectar();
                gridPersonalReloj.DataSource = null;
                gridPersonalReloj.Refresh();
                gridPersonalReloj.DataSource = relojAct.DescargarInfo();
                relojAct.Desconectar();
                gridPersonalReloj.Refresh();
                lblDispositivo.Text = "Usuarios en dispositivo: " + relojAct.Nombre;
            }
            catch (AppException appex)
            {
                base.InformarError(appex.Message, "Sincronizar Datos.");
            }
        }
コード例 #3
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            List <string> legajos = new List <string>();

            try
            {
                foreach (DataGridViewRow fila in gridPersonalReloj.Rows)
                {
                    DataGridViewCheckBoxCell cellSeleccion = fila.Cells["SeleccionDisp"] as DataGridViewCheckBoxCell;
                    if (Convert.ToBoolean(cellSeleccion.Value))
                    {
                        legajos.Add(fila.Cells["LegajoDisp"].Value.ToString());
                    }
                }
                //Valido que haya seleccionado al menos 1
                if (legajos.Count == 0)
                {
                    base.InformarError("Debe seleccionar al menos un empleado.", "Eliminar Usuarios.");
                    return;
                }
                //Pregunto si realmente quiere hacer la acción
                if (MessageBox.Show("Esta seguro que desea eliminar los empleados seleccionados?", "Eliminar Usuarios.", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                {
                    return;
                }

                if (relojAct != null && !relojAct.Estado)
                {
                    relojAct.Desconectar();
                }

                relojAct = (Reloj)cbRelojes.SelectedItem;
                relojAct.Conectar();
                relojAct.EliminarUsuarios(legajos);
                relojAct.Desconectar();
                base.Informar(legajos.Count.ToString() + " usuarios eliminados correctamente", "Eliminar Usuarios.");
            }
            catch (AppException appex)
            {
                InformarError(appex.Message, "Eliminar Usuarios.");
            }
            catch (Exception ex)
            {
                InformarError(ex.Message, "Eliminar Usuarios.");
            }
        }
コード例 #4
0
ファイル: LogicOperaciones.cs プロジェクト: Saftec/SaftComm
        public bool Connect(Reloj device)
        {
            bool state = false;

            try
            {
                device.Conectar();
                state = true;
            }
            catch (AppException appex)
            {
                throw appex;
            }
            catch (Exception ex)
            {
                throw new AppException("Error no controlado al intentar conectar con dispositivo.", "Fatal", ex);
            }
            return(state);
        }