Пример #1
0
        public void ProcesarPersonal(DPFP.Sample Sample)
        {
            try
            {
                bool banRegistrado = true;
                DrawPicturePersonal(ConvertSampleToBitmapPersonal(Sample));
                DPFP.FeatureSet features = ExtractFeaturesPersonal(Sample, DPFP.Processing.DataPurpose.Enrollment);
                if (features != null)
                {
                    try
                    {
                        Enroller.AddFeatures(features);
                    }
                    catch (Exception)
                    {
                        //LogError.AddExcFileTxt(ex, "LectorHuella ~ ProcesarPersonal");
                        this.FrmCapturaHuella.Invoke(new Function(delegate()
                        {
                            FrmCapturaHuella.lblInstrucciones.Text      = "Error al procesar las huellas.";
                            FrmCapturaHuella.lblInstrucciones.BackColor = Color.Red;
                        }));
                        Thread.Sleep(2400);
                    }
                }
                finally
                {
                    UpdateStatusPersonal();
                    switch (Enroller.TemplateStatus)
                    {
                    case DPFP.Processing.Enrollment.Status.Ready:
                        Template = Enroller.Template;
                        if (DatosHuellas == null)
                        {
                            Usuario_Negocio UN       = new Usuario_Negocio();
                            Usuario         DatosAux = new Usuario {
                                Conexion = Comun.Conexion
                            };
                            UN.ObtenerHuellasDigitales(DatosAux);
                            DatosHuellas = DatosAux.TablaDatos;
                        }
                        foreach (DataRow usuario in DatosHuellas.Rows)
                        {
                            DPFP.Template templateGuardado = new DPFP.Template();
                            templateGuardado.DeSerialize(ConvertirStringToBytes.StringToBytes(usuario["HuellaDigital"].ToString()));
                            if (procesarPersonal(Sample, templateGuardado))
                            {
                                banRegistrado = false;
                                break;
                            }
                        }
                        if (banRegistrado)
                        {
                            FrmCapturaHuella.Lector.Stop();
                            activaBtnPersonal();
                        }
                        else
                        {
                            Enroller.Clear();
                            FrmCapturaHuella.Lector.Stop();
                            FrmCapturaHuella.Invoke(new Function(delegate()
                            {
                                FrmCapturaHuella.lblInstrucciones.Text      = "La huella ya está registrada.";
                                FrmCapturaHuella.lblInstrucciones.BackColor = Color.Red;
                                //System.Windows.Forms.MessageBox.Show("La huella ya está registrada.", "Sistema Administrador CSL", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
                                //FrmCapturaHuella.DialogResult = System.Windows.Forms.DialogResult.Abort;
                            }));
                            Thread.Sleep(2400);
                            Template = null;
                            FrmCapturaHuella.Lector = new LectorHuella();
                            FrmCapturaHuella.frmCatEmpleadoHuella_Load(new object(), new EventArgs());
                            UpdateStatusPersonal();
                        }
                        break;

                    case DPFP.Processing.Enrollment.Status.Failed:
                        Enroller.Clear();
                        FrmCapturaHuella.Lector.Stop();
                        UpdateStatusPersonal();
                        Template = null;
                        FrmCapturaHuella.Lector.Start();
                        break;
                    }
                }
            }
Пример #2
0
 public void CapturarChecado(DPFP.Sample Sample)
 {
     try
     {
         if (DatosHuellas == null)
         {
             Usuario_Negocio UN       = new Usuario_Negocio();
             Usuario         DatosAux = new Usuario {
                 Conexion = Comun.Conexion
             };
             UN.ObtenerHuellasDigitales(DatosAux);
             DatosHuellas = DatosAux.TablaDatos;
         }
         VerificarChecado(FrmChecar, Sample, DatosHuellas, ref acceso, ref IDUsuario);
         if (acceso == true)
         {
             bool Concluido = false;
             this.FrmChecar.Invoke(new Function(delegate()
             {
                 Concluido = FrmChecar.Checar(IDUsuario);
             }));
             if (Concluido)
             {
                 FrmChecar.DialogResult = DialogResult.OK;
                 Template = null;
                 FrmChecar.Lector.Stop();
                 FrmChecar.Lector = new LectorHuella();
             }
             else
             {
                 FrmChecar.Lector.Stop();
                 FrmChecar.Invoke(new Function(delegate()
                 {
                     FrmChecar.lblInstrucciones.Text      = "Error al procesar la huella.";
                     FrmChecar.lblInstrucciones.BackColor = Color.Red;
                 }));
                 Thread.Sleep(2400);
                 Template         = null;
                 FrmChecar.Lector = new LectorHuella();
                 FrmChecar.frmChecarEntradaSalida_Load(new object(), new EventArgs());
             }
         }
         else
         {
             FrmChecar.Invoke(new Function(delegate()
             {
                 FrmChecar.lblInstrucciones.Text      = "Huella no registrada.";
                 FrmChecar.lblInstrucciones.BackColor = Color.Red;
             }));
             Thread.Sleep(2400);
             FrmChecar.Invoke(new Function(delegate()
             {
                 FrmChecar.lblInstrucciones.Text      = "Use el lector para escanear su huella digital.";
                 FrmChecar.lblInstrucciones.BackColor = Color.GreenYellow;
             }));
         }
     }
     catch (Exception ex)
     {
         LogError.AddExcFileTxt(ex, "LectorHuella ~ CapturarChecado");
     }
 }