Esempio n. 1
0
        private async void OnBuscarPorHuellaCustodio()
        {
            try
            {
                PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                var nRet    = -1;
                var bandera = true;
                var requiereGuardarHuellas = Parametro.GuardarHuellaEnBusquedaJuridico;
                if (requiereGuardarHuellas)
                {
                    try
                    {
                        nRet = CLSFPCaptureDllWrapper.CLS_Initialize();
                    }
                    catch
                    {
                        bandera = false;
                    }
                }
                else
                {
                    bandera = false;
                }

                var windowBusqueda = new LeerCustodioEdificio();
                windowBusqueda.DataContext = new LeerCustodioEdificioViewModel(enumTipoPersona.PERSONA_EMPLEADO, nRet == 0, requiereGuardarHuellas, null, null);

                if (nRet != 0 ? ((ControlPenales.Clases.FingerPrintScanner)(windowBusqueda.DataContext)).Readers.Count == 0 : false)
                {
                    PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                    PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.LISTA_ASISTENCIA_INTERNO_EDIFICIO);
                    StaticSourcesViewModel.Mensaje("ADVERTENCIA", "ASEGÚRESE DE CONECTAR SU LECTOR DE HUELLA DIGITAL", StaticSourcesViewModel.enumTipoMensaje.MENSAJE_INFORMACION, 5);
                    return;
                }
                windowBusqueda.Owner    = PopUpsViewModels.MainWindow;
                windowBusqueda.KeyDown += (s, e) =>
                {
                    try
                    {
                        if (e.Key == System.Windows.Input.Key.Escape)
                        {
                            windowBusqueda.Close();
                            PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                        }
                    }
                    catch (Exception ex)
                    {
                        StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al buscar", ex);
                    }
                };
                ((LeerCustodioEdificioViewModel)windowBusqueda.DataContext).ModoHuellaCustodio = true;
                windowBusqueda.Closed += (s, e) =>
                {
                    try
                    {
                        var c = ((LeerCustodioEdificioViewModel)windowBusqueda.DataContext).ListResultadoCustodio != null ? ((LeerCustodioEdificioViewModel)windowBusqueda.DataContext).ListResultadoCustodio.Select(se => se.Persona).FirstOrDefault() : null;
                        if (c != null)
                        {
                            SelectedCustodio = new cPersona().Obtener(c.ID_PERSONA).FirstOrDefault();
                        }
                        else
                        {
                            SelectedCustodio = null;
                        }
                        PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                    }
                    catch (Exception ex)
                    {
                        StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al cerrar búsqueda", ex);
                    }
                };
                windowBusqueda.ShowDialog();
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al buscar custodio por huellas.", ex);
            }
        }
        private async void OnBuscarPorHuella(string obj = "")
        {
            try
            {
                await Task.Factory.StartNew(() => PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.OSCURECER_FONDO));

                await TaskEx.Delay(400);

                var nRet    = -1;
                var bandera = true;
                var requiereGuardarHuellas = Parametro.GuardarHuellaEnBusquedaJuridico;
                if (requiereGuardarHuellas)
                {
                    try
                    {
                        nRet = CLSFPCaptureDllWrapper.CLS_Initialize();
                    }
                    catch
                    {
                        bandera = false;
                    }
                }
                else
                {
                    bandera = false;
                }

                var windowBusqueda = new BusquedaHuella();
                windowBusqueda.DataContext = new BusquedaHuellaViewModel(enumTipoPersona.IMPUTADO, nRet == 0, requiereGuardarHuellas);

                if (nRet != 0 ? ((ControlPenales.Clases.FingerPrintScanner)(windowBusqueda.DataContext)).Readers.Count == 0 : false)
                {
                    PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                    PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.HUELLAS);
                    StaticSourcesViewModel.Mensaje("Advertencia", "Asegurese de conectar su lector de huella digital", StaticSourcesViewModel.enumTipoMensaje.MENSAJE_INFORMACION, 5);
                    return;
                }

                windowBusqueda.Owner    = PopUpsViewModels.MainWindow;
                windowBusqueda.KeyDown += (s, e) =>
                {
                    try
                    {
                        if (e.Key == System.Windows.Input.Key.Escape)
                        {
                            windowBusqueda.Close();
                        }
                    }
                    catch (Exception ex)
                    {
                        StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al buscar", ex);
                    }
                };
                windowBusqueda.Closed += (s, e) =>
                {
                    try
                    {
                        HuellasCapturadas = ((BusquedaHuellaViewModel)windowBusqueda.DataContext).HuellasCapturadas;
                        if (bandera == true)
                        {
                            CLSFPCaptureDllWrapper.CLS_Terminate();
                        }
                        PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);

                        if (!((BusquedaHuellaViewModel)windowBusqueda.DataContext).IsSucceed)
                        {
                            return;
                        }

                        Imputado = ((BusquedaHuellaViewModel)windowBusqueda.DataContext).SelectRegistro != null ? ((BusquedaHuellaViewModel)windowBusqueda.DataContext).SelectRegistro.Imputado : null;
                        if (Imputado == null)//NO ENCONTRO LAS HUELLAS
                        {
                            ValidacionBiometrica();
                        }
                        else//SI ENCONTRO HUELLAS SE VALIDAN
                        {
                            if (SelectedLiberacion.Liberacion != null)
                            {
                                if (SelectedLiberacion.Liberacion.ID_CENTRO == Imputado.ID_CENTRO && SelectedLiberacion.Liberacion.ID_ANIO == Imputado.ID_ANIO && SelectedLiberacion.Liberacion.ID_IMPUTADO == Imputado.ID_IMPUTADO)
                                {
                                    //Guardar("N");
                                    GuardarLibertadBiometrica("N");
                                    #region Comentado
                                    //if (GuardarLiberacion("N"))
                                    //{
                                    //     new Dialogos().ConfirmacionDialogo("ÉXITO", "Informaci\u00F3n registrada correctamente.");
                                    //     ObtenerTodo();
                                    //}
                                    //else
                                    //    new Dialogos().ConfirmacionDialogo("ERROR", "No se registr\u00F3 la informaci\u00F3n.");
                                    #endregion
                                }
                                else
                                {
                                    ValidacionBiometrica();
                                }
                            }
                            else
                            {
                                //new Dialogos().ConfirmacionDialogo("Validación", "Las huellas del interno no conciden con las huellas interno a liberar.");
                                ValidacionBiometrica();
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al cerrar búsqueda", ex);
                    }
                };
                windowBusqueda.ShowDialog();
                //AceptarBusquedaHuellaFocus = true;
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al buscar imputado por huellas.", ex);
            }
        }
Esempio n. 3
0
 private void BuscarHuella()
 {
     try
     {
         //var windowBusqueda = new LeerInternosEdificio();
         //windowBusqueda.DataContext = new LeerInternosEdificioViewModel(enumTipoPersona.IMPUTADO,null,false,FEdificio != -1 ? (short?)FEdificio : null,FSector != -1 ? (short?)FSector : null);
         var windowBusqueda = new LeerInternosEdificio();
         windowBusqueda.DataContext = new LeerInternosEdificioViewModel(enumTipoPersona.IMPUTADO, null, false, FEdificio, FSector);
         if (CLSFPCaptureDllWrapper.CLS_Initialize() != 0 ? ((ControlPenales.Clases.FingerPrintScanner)(windowBusqueda.DataContext)).Readers.Count == 0 : false)
         {
             PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
             PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.LISTA_ASISTENCIA_INTERNO_EDIFICIO);
             StaticSourcesViewModel.Mensaje("ADVERTENCIA", "ASEGÚRESE DE CONECTAR SU LECTOR DE HUELLA DIGITAL", StaticSourcesViewModel.enumTipoMensaje.MENSAJE_INFORMACION, 5);
             return;
         }
         PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
         windowBusqueda.Owner    = PopUpsViewModels.MainWindow;
         windowBusqueda.KeyDown += (s, e) =>
         {
             try
             {
                 if (e.Key == System.Windows.Input.Key.Escape)
                 {
                     windowBusqueda.Close();
                 }
             }
             catch (Exception ex)
             {
                 StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al buscar", ex);
             }
         };
         windowBusqueda.Closed += (s, e) =>
         {
             try
             {
                 var resultado = ((LeerInternosEdificioViewModel)windowBusqueda.DataContext).ListaResultadoRequerido;
                 if (resultado != null)
                 {
                     if (IndiceTab == 0)
                     {
                         if (LstInternosRequeridos != null)
                         {
                             foreach (var r in resultado)
                             {
                                 var imp = LstInternosRequeridos.Where(w => w.ID_CENTRO == r.IdCentro && w.ID_ANIO == r.IdAnio && w.ID_IMPUTADO == r.IdImputado && w.UBICACION == 0).FirstOrDefault();
                                 if (imp != null)
                                 {
                                     imp.SELECCIONE = true;
                                     if (lstInternosRequeridosSeleccionados == null)
                                     {
                                         lstInternosRequeridosSeleccionados = new ObservableCollection <cControlInternoEdificio>();
                                     }
                                     lstInternosRequeridosSeleccionados.Add(imp);
                                 }
                             }
                             LstInternosRequeridos = new ObservableCollection <cControlInternoEdificio>(LstInternosRequeridos);
                             TotalInternos         = string.Format("Total de Internos: {0}", LstInternosRequeridos != null ? LstInternosRequeridos.Count : 0);
                             TotalSeleccionados    = string.Format("Total de Internos Seleccionados: {0}", LstInternosRequeridos != null ? LstInternosRequeridos.Count(w => w.SELECCIONE) : 0);
                         }
                     }
                     else
                     {
                         if (LstInternosAusentes != null)
                         {
                             foreach (var r in resultado)
                             {
                                 var imp = LstInternosAusentes.Where(w => w.ID_CENTRO == r.IdCentro && w.ID_ANIO == r.IdAnio && w.ID_IMPUTADO == r.IdImputado && w.UBICACION > 0).FirstOrDefault();
                                 if (imp != null)
                                 {
                                     imp.SELECCIONE = true;
                                     if (lstInternosAusentesSeleccionados == null)
                                     {
                                         lstInternosAusentesSeleccionados = new ObservableCollection <cControlInternoEdificio>();
                                     }
                                     lstInternosAusentesSeleccionados.Add(imp);
                                 }
                             }
                             LstInternosAusentes = new ObservableCollection <cControlInternoEdificio>(LstInternosAusentes);
                             TotalInternos       = string.Format("Total de Internos: {0}", LstInternosAusentes != null ? LstInternosAusentes.Count : 0);
                             TotalSeleccionados  = string.Format("Total de Internos Seleccionados: {0}", LstInternosAusentes != null ? LstInternosAusentes.Count(w => w.SELECCIONE) : 0);
                         }
                     }
                 }
                 CLSFPCaptureDllWrapper.CLS_Terminate();
                 PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
             }
             catch (Exception ex)
             {
                 StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al cerrar búsqueda", ex);
             }
         };
         if (IndiceTab == 1)
         {
             ((LeerInternosEdificioViewModel)windowBusqueda.DataContext).ModoHuella = true;
         }
         else
         {
             ((LeerInternosEdificioViewModel)windowBusqueda.DataContext).ModoHuella = false;
         }
         windowBusqueda.ShowDialog();
     }
     catch (Exception ex)
     {
         StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al buscar la huella del imputado.", ex);
     }
 }
Esempio n. 4
0
        private async void OnBuscarPorHuella(string obj = "")
        {
            await Task.Factory.StartNew(() => PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.OSCURECER_FONDO));

            await TaskEx.Delay(400);

            var nRet    = -1;
            var bandera = true;
            var requiereGuardarHuellas = Parametro.GuardarHuellaEnBusquedaEstatusAdministrativo;

            if (requiereGuardarHuellas)
            {
                try
                {
                    nRet = CLSFPCaptureDllWrapper.CLS_Initialize();
                }
                catch
                {
                    bandera = false;
                }
            }
            else
            {
                bandera = false;
            }

            var windowBusqueda = new BusquedaHuella();

            windowBusqueda.DataContext = new BusquedaHuellaViewModel(enumTipoPersona.IMPUTADO, nRet == 0, requiereGuardarHuellas);

            if (nRet != 0 ? ((ControlPenales.Clases.FingerPrintScanner)(windowBusqueda.DataContext)).Readers.Count == 0 : false)
            {
                PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.HUELLAS);
                StaticSourcesViewModel.Mensaje("ADVERTENCIA", "ASEGURESE DE CONECTAR SU LECTOR DE HUELLA DIGITAL", StaticSourcesViewModel.enumTipoMensaje.MENSAJE_INFORMACION, 5);
                return;
            }

            windowBusqueda.Owner    = PopUpsViewModels.MainWindow;
            windowBusqueda.KeyDown += (s, e) =>
            {
                try
                {
                    if (e.Key == System.Windows.Input.Key.Escape)
                    {
                        windowBusqueda.Close();
                    }
                }
                catch (Exception ex)
                {
                    StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al buscar", ex);
                }
            };
            windowBusqueda.Closed += (s, e) =>
            {
                try
                {
                    HuellasCapturadas = ((BusquedaHuellaViewModel)windowBusqueda.DataContext).HuellasCapturadas;
                    if (bandera == true)
                    {
                        CLSFPCaptureDllWrapper.CLS_Terminate();
                    }
                    PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);

                    if (!((BusquedaHuellaViewModel)windowBusqueda.DataContext).IsSucceed)
                    {
                        return;
                    }

                    Imputado = ((BusquedaHuellaViewModel)windowBusqueda.DataContext).SelectRegistro != null ? ((BusquedaHuellaViewModel)windowBusqueda.DataContext).SelectRegistro.Imputado : null;

                    if (Imputado == null)
                    {
                        new Dialogos().ConfirmacionDialogo("Validación", "Favor de autentificar al interno por medio de huella");
                        return;
                    }
                    else
                    {
                        if (SelectedAtencionCita != null)
                        {
                            if (SelectedAtencionCita.INGRESO != null)
                            {
                                if (Imputado.ID_CENTRO == SelectedAtencionCita.INGRESO.ID_CENTRO && Imputado.ID_ANIO == SelectedAtencionCita.INGRESO.ID_ANIO && Imputado.ID_IMPUTADO == SelectedAtencionCita.ID_IMPUTADO)
                                {
                                    TabControlEnabled = MenuGuardarEnabled = true;
                                    BHuellasEnabled   = false;
                                }
                                else
                                {
                                    new Dialogos().ConfirmacionDialogo("Validación", "El interno no coincide con el solicitado");
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al cerrar busqueda", ex);
                }
            };
            windowBusqueda.ShowDialog();
            //AceptarBusquedaHuellaFocus = true;
        }
Esempio n. 5
0
        private async void OnBuscarPorHuella(string obj = "")
        {
            try
            {
                await Task.Factory.StartNew(() => PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.OSCURECER_FONDO));

                await TaskEx.Delay(400);

                var nRet    = -1;
                var bandera = true;
                var requiereGuardarHuellas = Parametro.GuardarHuellaEnBusquedaPadronVisita;
                if (requiereGuardarHuellas)
                {
                    try
                    {
                        nRet = CLSFPCaptureDllWrapper.CLS_Initialize();
                    }
                    catch
                    {
                        bandera = false;
                    }
                }
                else
                {
                    bandera = false;
                }

                var windowBusqueda = new BusquedaHuella();
                windowBusqueda.DataContext = new BusquedaHuellaViewModel(enumTipoPersona.PERSONA_TODOS, nRet == 0, requiereGuardarHuellas);

                if (nRet != 0)
                {
                    if (((ControlPenales.Clases.FingerPrintScanner)(windowBusqueda.DataContext)).Readers.Count == 0)
                    {
                        PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                        PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.HUELLAS);
                        StaticSourcesViewModel.Mensaje("ADVERTENCIA", "ASEGURESE DE CONECTAR SU LECTOR DE HUELLA DIGITAL", StaticSourcesViewModel.enumTipoMensaje.MENSAJE_INFORMACION, 5);
                        return;
                    }
                }
                windowBusqueda.Owner    = PopUpsViewModels.MainWindow;
                windowBusqueda.KeyDown += (s, e) => { if (e.Key == System.Windows.Input.Key.Escape)
                                                      {
                                                          windowBusqueda.Close();
                                                      }
                };
                windowBusqueda.Closed += async(s, e) =>
                {
                    var resultado = ((BusquedaHuellaViewModel)windowBusqueda.DataContext);
                    if (resultado != null)
                    {
                        if (resultado.SelectRegistro != null)
                        {
                            SelectedLiberado = resultado.SelectRegistro.Persona;
                            ObtenerLiberado();
                        }
                    }
                    PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                };
                windowBusqueda.ShowDialog();
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al buscar por huella.", ex);
            }
        }
Esempio n. 6
0
        private void ShowIdentification(object obj = null)
        {
            ShowPopUp       = Visibility.Visible;
            ShowFingerPrint = Visibility.Hidden;
            var Initial442 = new Thread((Init) =>
            {
                try
                {
                    var nRet = 0;
                    CLSFPCaptureDllWrapper.CLS_Initialize();
                    CLSFPCaptureDllWrapper.CLS_SetLanguage(CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_RESOURCE.ENGLISH);
                    nRet = CLSFPCaptureDllWrapper.CLS_CaptureFP(CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_TYPE.IDFLATS);
                    if (nRet == 0)
                    {
                        ScannerMessage  = "Procesando...";
                        ShowFingerPrint = Visibility.Visible;
                        ShowLine        = Visibility.Visible;
                        ShowOk          = Visibility.Hidden;
                        Thread.Sleep(300);
                        HuellasCapturadas    = new List <PlantillaBiometrico>();
                        var SaveFingerPrints = new Thread((saver) =>
                        {
                            try
                            {
                                #region [Huellas]
                                //for (short i = 1; i <= 10; i++)
                                //{
                                //    var pBuffer = IntPtr.Zero;
                                //    var nBufferLength = 0;
                                //    var nNFIQ = 0;
                                //    CLSFPCaptureDllWrapper.CLS_GetImage(CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_IMPRESSION_TYPE.PLAIN, (CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER)i, CLSFPCaptureDllWrapper.IMG_TYPE.BMP, ref pBuffer, ref nBufferLength);
                                //    var bufferBMP = new byte[nBufferLength];
                                //    if (pBuffer != IntPtr.Zero)
                                //        Marshal.Copy(pBuffer, bufferBMP, 0, nBufferLength);
                                //    CLSFPCaptureDllWrapper.CLS_GetImage(CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_IMPRESSION_TYPE.PLAIN, (CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER)i, CLSFPCaptureDllWrapper.IMG_TYPE.WSQ, ref pBuffer, ref nBufferLength);
                                //    var bufferWSQ = new byte[nBufferLength];
                                //    if (pBuffer != IntPtr.Zero)
                                //        Marshal.Copy(pBuffer, bufferWSQ, 0, nBufferLength);
                                //    CLSFPCaptureDllWrapper.CLS_GetImageNFIQ(((CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER)i), ref nNFIQ, CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_IMPRESSION_TYPE.PLAIN);
                                //    DPUruNet.Fmd FMD = null;
                                //    if (bufferBMP.Length != 0)
                                //    {
                                //        GuardaHuella = CreateBitmapSourceFromBitmap(new MemoryStream(bufferBMP));
                                //        FMD = ExtractFmdfromBmp(new Bitmap(new MemoryStream(bufferBMP)).Clone(new Rectangle(0, 0, 357, 392), System.Drawing.Imaging.PixelFormat.Format8bppIndexed)).Data;
                                //    }
                                //    Thread.Sleep(200);
                                //    switch ((CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER)i)
                                //    {
                                //        #region [Pulgar Derecho]
                                //        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.RIGHT_THUMB:
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.PULGAR_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ });
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.PULGAR_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ });
                                //            break;
                                //        #endregion
                                //        #region [Indice Derecho]
                                //        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.RIGHT_INDEX:
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.INDICE_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ });
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.INDICE_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ });
                                //            break;
                                //        #endregion
                                //        #region [Medio Derecho]
                                //        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.RIGHT_MIDDLE:
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.MEDIO_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ });
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.MEDIO_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ });
                                //            break;
                                //        #endregion
                                //        #region [Anular Derecho]
                                //        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.RIGHT_RING:
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.ANULAR_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ });
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.ANULAR_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ });
                                //            break;
                                //        #endregion
                                //        #region [Meñique Derecho]
                                //        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.RIGHT_LITTLE:
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.MENIQUE_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ });
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.MENIQUE_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ });
                                //            break;
                                //        #endregion
                                //        #region [Pulgar Izquierdo]
                                //        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.LEFT_THUMB:
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.PULGAR_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ });
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.PULGAR_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ });
                                //            break;
                                //        #endregion
                                //        #region [Indice Izquierdo]
                                //        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.LEFT_INDEX:
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.INDICE_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ });
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.INDICE_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ });
                                //            break;
                                //        #endregion
                                //        #region [Medio Izquierdo]
                                //        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.LEFT_MIDDLE:
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.MEDIO_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ });
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.MEDIO_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ });
                                //            break;
                                //        #endregion
                                //        #region [Anular Izquierdo]
                                //        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.LEFT_RING:
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.ANULAR_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ });
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.ANULAR_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ });
                                //            break;
                                //        #endregion
                                //        #region [Meñique Izquierdo]
                                //        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.LEFT_LITTLE:
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.MENIQUE_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ });
                                //            HuellasCapturadas.Add(new PlantillaBiometrico { ID_TIPO_BIOMETRICO = enumTipoBiometrico.MENIQUE_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ });
                                //            break;
                                //        #endregion
                                //        default:
                                //            break;
                                //    }
                                //}
                                #endregion
                                ScannerMessage = "Huellas Capturadas Correctamente";
                            }
                            catch (Exception ex)
                            {
                                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al procesar huellas.", ex);
                            }
                        });
                        SaveFingerPrints.Start();
                        SaveFingerPrints.Join();
                        ShowLine = Visibility.Hidden;
                        Thread.Sleep(1500);
                    }
                    ShowPopUp = Visibility.Hidden;
                    CLSFPCaptureDllWrapper.CLS_Terminate();
                    PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.HUELLAS);
                }
                catch
                {
                    Application.Current.Dispatcher.Invoke((Action)(delegate
                    {
                        ShowPopUp = Visibility.Hidden;
                        (new Dialogos()).ConfirmacionDialogo("Error", "Revise que el escanner este bien configurado.");
                        PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.HUELLAS);
                    }));
                }
            });

            Initial442.Start();
        }
Esempio n. 7
0
        private async void Capture(string obj)
        {
            ShowLoading = Visibility.Visible;
            ShowLine    = Visibility.Visible;
            var nRet = -1;

            try
            {
                CLSFPCaptureDllWrapper.CLS_SetLanguage(CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_RESOURCE.ENGLISH);
                nRet         = CLSFPCaptureDllWrapper.CLS_CaptureFP(CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_TYPE.IDFLATS);
                ShowCapturar = Visibility.Collapsed;

                #region [Huellas]
                if (nRet == 0)
                {
                    ScannerMessage    = "Procesando...";
                    ShowLine          = Visibility.Visible;
                    ListResultado     = null;
                    HuellasCapturadas = new List <PlantillaBiometrico>();

                    for (short i = 1; i <= 10; i++)
                    {
                        var pBuffer       = IntPtr.Zero;
                        var nBufferLength = 0;
                        var nNFIQ         = 0;
                        ListResultado    = null;
                        GuardandoHuellas = false;

                        CLSFPCaptureDllWrapper.CLS_GetImage(CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_IMPRESSION_TYPE.PLAIN, (CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER)i, CLSFPCaptureDllWrapper.IMG_TYPE.BMP, ref pBuffer, ref nBufferLength);
                        var bufferBMP = new byte[nBufferLength];
                        if (pBuffer != IntPtr.Zero)
                        {
                            Marshal.Copy(pBuffer, bufferBMP, 0, nBufferLength);
                        }

                        CLSFPCaptureDllWrapper.CLS_GetImage(CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_IMPRESSION_TYPE.PLAIN, (CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER)i, CLSFPCaptureDllWrapper.IMG_TYPE.WSQ, ref pBuffer, ref nBufferLength);
                        var bufferWSQ = new byte[nBufferLength];
                        if (pBuffer != IntPtr.Zero)
                        {
                            Marshal.Copy(pBuffer, bufferWSQ, 0, nBufferLength);
                        }

                        CLSFPCaptureDllWrapper.CLS_GetImageNFIQ(((CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER)i), ref nNFIQ, CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_IMPRESSION_TYPE.PLAIN);

                        Fmd FMD = null;
                        if (bufferBMP.Length != 0)
                        {
                            PropertyImage = CreateBitmapSourceFromBitmap(new MemoryStream(bufferBMP));
                            FMD           = ExtractFmdfromBmp(new Bitmap(new MemoryStream(bufferBMP)).Clone(new Rectangle(0, 0, 357, 392), System.Drawing.Imaging.PixelFormat.Format8bppIndexed)).Data;
                        }

                        ShowContinuar = Visibility.Collapsed;
                        await TaskEx.Delay(1);

                        switch ((CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER)i)
                        {
                            #region [Pulgar Derecho]
                        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.RIGHT_THUMB:
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.PULGAR_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ
                            });
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.PULGAR_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ
                            });
                            isKeepSearching = BuscarPor == enumTipoPersona.IMPUTADO ? await CompareImputado(FMD != null?FMD.Bytes : null, (short)enumTipoBiometrico.PULGAR_DERECHO) : await ComparePersona(FMD != null?FMD.Bytes : null, (short)enumTipoBiometrico.PULGAR_DERECHO);

                            break;

                            #endregion
                            #region [Indice Derecho]
                        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.RIGHT_INDEX:
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.INDICE_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ
                            });
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.INDICE_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ
                            });
                            isKeepSearching = BuscarPor == enumTipoPersona.IMPUTADO ? await CompareImputado(FMD != null?FMD.Bytes : null, enumTipoBiometrico.INDICE_DERECHO) : await ComparePersona(FMD != null?FMD.Bytes : null, enumTipoBiometrico.INDICE_DERECHO);

                            break;

                            #endregion
                            #region [Medio Derecho]
                        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.RIGHT_MIDDLE:
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.MEDIO_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ
                            });
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.MEDIO_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ
                            });
                            isKeepSearching = BuscarPor == enumTipoPersona.IMPUTADO ? await CompareImputado(FMD != null?FMD.Bytes : null, enumTipoBiometrico.MEDIO_DERECHO) : await ComparePersona(FMD != null?FMD.Bytes : null, enumTipoBiometrico.MEDIO_DERECHO);

                            break;

                            #endregion
                            #region [Anular Derecho]
                        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.RIGHT_RING:
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.ANULAR_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ
                            });
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.ANULAR_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ
                            });
                            isKeepSearching = BuscarPor == enumTipoPersona.IMPUTADO ? await CompareImputado(FMD != null?FMD.Bytes : null, enumTipoBiometrico.ANULAR_DERECHO) : await ComparePersona(FMD != null?FMD.Bytes : null, enumTipoBiometrico.ANULAR_DERECHO);

                            break;

                            #endregion
                            #region [Meñique Derecho]
                        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.RIGHT_LITTLE:
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.MENIQUE_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ
                            });
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.MENIQUE_DERECHO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ
                            });
                            isKeepSearching = BuscarPor == enumTipoPersona.IMPUTADO ? await CompareImputado(FMD != null?FMD.Bytes : null, enumTipoBiometrico.MENIQUE_DERECHO) : await ComparePersona(FMD != null?FMD.Bytes : null, enumTipoBiometrico.MENIQUE_DERECHO);

                            break;

                            #endregion
                            #region [Pulgar Izquierdo]
                        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.LEFT_THUMB:
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.PULGAR_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ
                            });
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.PULGAR_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ
                            });
                            isKeepSearching = BuscarPor == enumTipoPersona.IMPUTADO ? await CompareImputado(FMD != null?FMD.Bytes : null, enumTipoBiometrico.PULGAR_IZQUIERDO) : await ComparePersona(FMD != null?FMD.Bytes : null, (short)enumTipoBiometrico.PULGAR_DERECHO);

                            break;

                            #endregion
                            #region [Indice Izquierdo]
                        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.LEFT_INDEX:
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.INDICE_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ
                            });
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.INDICE_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ
                            });
                            isKeepSearching = BuscarPor == enumTipoPersona.IMPUTADO ? await CompareImputado(FMD != null?FMD.Bytes : null, enumTipoBiometrico.INDICE_IZQUIERDO) : await ComparePersona(FMD != null?FMD.Bytes : null, enumTipoBiometrico.INDICE_IZQUIERDO);

                            break;

                            #endregion
                            #region [Medio Izquierdo]
                        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.LEFT_MIDDLE:
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.MEDIO_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ
                            });
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.MEDIO_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ
                            });
                            isKeepSearching = BuscarPor == enumTipoPersona.IMPUTADO ? await CompareImputado(FMD != null?FMD.Bytes : null, enumTipoBiometrico.MEDIO_IZQUIERDO) : await ComparePersona(FMD != null?FMD.Bytes : null, enumTipoBiometrico.MEDIO_IZQUIERDO);

                            break;

                            #endregion
                            #region [Anular Izquierdo]
                        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.LEFT_RING:
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.ANULAR_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ
                            });
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.ANULAR_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ
                            });
                            isKeepSearching = BuscarPor == enumTipoPersona.IMPUTADO ? await CompareImputado(FMD != null?FMD.Bytes : null, enumTipoBiometrico.ANULAR_IZQUIERDO) : await ComparePersona(FMD != null?FMD.Bytes : null, enumTipoBiometrico.ANULAR_IZQUIERDO);

                            break;

                            #endregion
                            #region [Meñique Izquierdo]
                        case CLSFPCaptureDllWrapper.CLS_FP_CAPTURE_FINGER.LEFT_LITTLE:
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.MENIQUE_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_DP, BIOMETRICO = FMD != null ? FMD.Bytes : bufferBMP, CALIDAD = (short)nNFIQ
                            });
                            HuellasCapturadas.Add(new PlantillaBiometrico {
                                ID_TIPO_BIOMETRICO = enumTipoBiometrico.MENIQUE_IZQUIERDO, ID_TIPO_FORMATO = enumTipoFormato.FMTO_WSQ, BIOMETRICO = bufferWSQ
                            });
                            isKeepSearching = BuscarPor == enumTipoPersona.IMPUTADO ? await CompareImputado(FMD != null?FMD.Bytes : null, enumTipoBiometrico.MENIQUE_IZQUIERDO) : await ComparePersona(FMD != null?FMD.Bytes : null, enumTipoBiometrico.MENIQUE_IZQUIERDO);

                            isKeepSearching = true;
                            break;

                            #endregion
                        default:
                            break;
                        }

                        ShowContinuar = Visibility.Visible;
                        ShowCapturar  = Visibility.Collapsed;

                        if (!CancelKeepSearching)
                        {
                            await KeepSearch();
                        }
                        else
                        if (!_GuardarHuellas)
                        {
                            break;
                        }
                    }

                    GuardandoHuellas = true;
                }
                else
                {
                    Application.Current.Dispatcher.Invoke((System.Action)(delegate
                    {
                        ScannerMessage = "Vuelve a capturar las huellas";
                        ColorMessage   = new SolidColorBrush(Colors.DarkOrange);
                    }));
                }
                #endregion
            }
            catch
            {
                CLSFPCaptureDllWrapper.CLS_Terminate();
            }

            if (nRet == 0)
            {
                Application.Current.Dispatcher.Invoke((System.Action)(delegate
                {
                    ScannerMessage             = "Busqueda Terminada";
                    ColorMessage               = new SolidColorBrush(Colors.Green);
                    AceptarBusquedaHuellaFocus = true;
                }));
            }

            ShowLine      = Visibility.Collapsed;
            ShowLoading   = Visibility.Collapsed;
            ShowContinuar = Visibility.Collapsed;
            await TaskEx.Delay(1500);

            ShowCapturar = Visibility.Visible;
        }
Esempio n. 8
0
        private async void OnBuscarPorHuella(string obj = "")
        {
            try
            {
                if (!PConsultar)
                {
                    (new Dialogos()).ConfirmacionDialogo("Validación", "No cuenta con suficientes privilegios para realizar esta acción.");
                    return;
                }

                await Task.Factory.StartNew(() => PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.OSCURECER_FONDO));

                await TaskEx.Delay(400);

                var nRet    = -1;
                var bandera = true;
                var requiereGuardarHuellas = Parametro.GuardarHuellaEnBusquedaPadronVisita;
                if (requiereGuardarHuellas)
                {
                    try
                    {
                        nRet = CLSFPCaptureDllWrapper.CLS_Initialize();
                    }
                    catch
                    {
                        bandera = false;
                    }
                }
                else
                {
                    bandera = false;
                }

                var windowBusqueda = new BusquedaHuella();
                windowBusqueda.DataContext = this;
                ConstructorHuella(enumTipoPersona.IMPUTADO, nRet == 0, requiereGuardarHuellas);
                windowBusqueda.dgHuella.Columns.Insert(windowBusqueda.dgHuella.Columns.Count, new DataGridTextColumn()
                {
                    Binding = new System.Windows.Data.Binding("Imputado")
                    {
                        Converter = new GetTipoPersona()
                    },
                    Header = "IMPUTADO"
                });
                if (nRet != 0 ? ((ControlPenales.Clases.FingerPrintScanner)(windowBusqueda.DataContext)).Readers.Count == 0 : false)
                {
                    PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                    PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.HUELLAS);
                    StaticSourcesViewModel.Mensaje("ADVERTENCIA", "ASEGURESE DE CONECTAR SU LECTOR DE HUELLA DIGITAL", StaticSourcesViewModel.enumTipoMensaje.MENSAJE_INFORMACION, 5);
                    return;
                }
                windowBusqueda.Owner    = PopUpsViewModels.MainWindow;
                windowBusqueda.KeyDown += (s, e) => { if (e.Key == System.Windows.Input.Key.Escape)
                                                      {
                                                          windowBusqueda.Close();
                                                      }
                };
                windowBusqueda.Closed += (s, e) =>
                {
                    HuellasCapturadas = ((NotaMedicaViewModel)windowBusqueda.DataContext).HuellasCapturadas;
                    if (bandera == true)
                    {
                        CLSFPCaptureDllWrapper.CLS_Terminate();
                    }
                    PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                    //var huella = ((NotaMedicaViewModel)windowBusqueda.DataContext);
                    if (!IsSucceed)
                    {
                        return;
                    }
                    if (SelectRegistro != null ? SelectRegistro.Imputado == null : null == null)
                    {
                        return;
                    }
                    //SelectPersona = huella.SelectRegistro.Persona;
                };
                windowBusqueda.ShowDialog();
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al buscar por huella.", ex);
            }
        }