public void CompararHuellaImputado() { ImagenImputado = new Imagenes().getImagenPerson(); ImputadoEntrante = new List <InternoVisitaLegal>(); var bytesHuella = FingerPrintData != null?FeatureExtraction.CreateFmdFromFid(FingerPrintData, Constants.Formats.Fmd.ANSI).Data.Bytes : null; var MensajeResultado = enumMensajeResultadoComparacion.HUELLA_VACIA; if (bytesHuella == null) { Application.Current.Dispatcher.Invoke((Action)(delegate() { CambiarMensaje(MensajeResultado); })); } else { MensajeResultado = enumMensajeResultadoComparacion.PROCESANDO; Application.Current.Dispatcher.Invoke((Action)(delegate { CambiarMensaje(MensajeResultado); })); var doIdentify = Comparison.Identify(Importer.ImportFmd(bytesHuella, Constants.Formats.Fmd.ANSI, Constants.Formats.Fmd.ANSI).Data, 0, HuellasImputadosVisitas.Where(w => w.FMD != null && w.tipo_biometrico == SelectedFinger).Select(s => s.FMD), (0x7fffffff / 100000), 10); var result = new List <object>(); if (doIdentify.ResultCode != Constants.ResultCode.DP_SUCCESS) { if (HuellasImputadosVisitas.Count == 0) { MensajeResultado = enumMensajeResultadoComparacion.NO_ENCONTRADO; } else { switch (doIdentify.ResultCode) { case Constants.ResultCode.DP_DEVICE_BUSY: break; case Constants.ResultCode.DP_DEVICE_FAILURE: break; case Constants.ResultCode.DP_ENROLLMENT_INVALID_SET: break; case Constants.ResultCode.DP_ENROLLMENT_IN_PROGRESS: break; case Constants.ResultCode.DP_ENROLLMENT_NOT_READY: break; case Constants.ResultCode.DP_ENROLLMENT_NOT_STARTED: break; case Constants.ResultCode.DP_FAILURE: break; case Constants.ResultCode.DP_INVALID_DEVICE: break; case Constants.ResultCode.DP_INVALID_FID: break; case Constants.ResultCode.DP_INVALID_FMD: break; case Constants.ResultCode.DP_INVALID_PARAMETER: break; case Constants.ResultCode.DP_MORE_DATA: break; case Constants.ResultCode.DP_NOT_IMPLEMENTED: break; case Constants.ResultCode.DP_NO_DATA: break; case Constants.ResultCode.DP_TOO_SMALL_AREA: break; case Constants.ResultCode.DP_VERSION_INCOMPATIBILITY: break; default: break; } } } else { if (doIdentify.Indexes.Count() > 0) { foreach (var resultado in doIdentify.Indexes.ToList()) { result.Add(HuellasImputadosVisitas[resultado.FirstOrDefault()].IMPUTADO); } } if (result.Count > 0) { if (result.Count == 1) { try { var imputado = ((cHuellasImputado)result.FirstOrDefault()); var ultimo_ingreso = new cIngreso().ObtenerUltimoIngreso(imputado.ID_CENTRO, imputado.ID_ANIO, imputado.ID_IMPUTADO); var ultima_ubicacion = new cIngresoUbicacion().ObtenerUltimaUbicacion(imputado.ID_ANIO, imputado.ID_CENTRO, (int)imputado.ID_IMPUTADO, ultimo_ingreso.ID_INGRESO); var LOCUTORIOS = Parametro.UBICACION_VISITA_ACTUARIO; var SALA_ABOGADOS = Parametro.UBICACION_VISITA_ABOGADO; short SIN_AREA = 0; if (ultima_ubicacion != null) { //if (ultima_ubicacion.ESTATUS == (short)enumUbicacion.EN_TRANSITO && (ultima_ubicacion.ID_AREA == LOCUTORIOS || ultima_ubicacion.ID_AREA == SALA_ABOGADOS)) //{ var aduana_ingreso = new cAduanaIngreso(); var consulta_aduana_ingreso = aduana_ingreso.ObtenerAduanaIngresoSinNotificacion(imputado.ID_CENTRO, imputado.ID_ANIO, imputado.ID_IMPUTADO, ultimo_ingreso.ID_INGRESO, Fechas.GetFechaDateServer).FirstOrDefault(); if (consulta_aduana_ingreso != null) { new cAduanaIngreso().CambiarEstadoVisitaInterno(new INGRESO_UBICACION() { ID_CENTRO = consulta_aduana_ingreso.ID_CENTRO, ID_ANIO = consulta_aduana_ingreso.ID_ANIO, ID_IMPUTADO = consulta_aduana_ingreso.ID_IMPUTADO, ID_INGRESO = consulta_aduana_ingreso.ID_INGRESO, ID_CONSEC = new cIngresoUbicacion().ObtenerConsecutivo <int>(imputado.ID_CENTRO, imputado.ID_ANIO, imputado.ID_IMPUTADO, ultimo_ingreso.ID_INGRESO), ID_AREA = consulta_aduana_ingreso.ADUANA.ID_AREA != null ? (consulta_aduana_ingreso.ADUANA.ID_AREA == SALA_ABOGADOS ? SALA_ABOGADOS : LOCUTORIOS) : SIN_AREA,//ultima_ubicacion.ID_AREA == LOCUTORIOS ? LOCUTORIOS : SALA_ABOGADOS, MOVIMIENTO_FEC = Fechas.GetFechaDateServer, ACTIVIDAD = VISITA_LEGAL, ESTATUS = (short)enumUbicacion.ACTIVIDAD }, new ADUANA_INGRESO() { ID_ADUANA = consulta_aduana_ingreso.ID_ADUANA, ID_CENTRO = consulta_aduana_ingreso.ID_CENTRO, ID_ANIO = consulta_aduana_ingreso.ID_ANIO, ID_IMPUTADO = consulta_aduana_ingreso.ID_IMPUTADO, ID_INGRESO = consulta_aduana_ingreso.ID_INGRESO, INTERNO_NOTIFICADO = INTERNO_NOTIFICADO }); var imputado_entrante = new List <InternoVisitaLegal>(); imputado_entrante.Add(new InternoVisitaLegal() { ID_CENTRO = imputado.ID_CENTRO, ID_ANIO = imputado.ID_ANIO, ID_IMPUTADO = (short)imputado.ID_IMPUTADO, PATERNO = ultimo_ingreso.IMPUTADO.PATERNO.TrimEnd(), MATERNO = ultimo_ingreso.IMPUTADO.MATERNO.TrimEnd(), NOMBRE = ultimo_ingreso.IMPUTADO.NOMBRE.TrimEnd(), PERMITIR = true, HABILITAR = true }); ImputadoEntrante = imputado_entrante; SelectedImputado = ImputadoEntrante.FirstOrDefault(); var huella = HuellasImputadosVisitas.Where(w => w.IMPUTADO.ID_CENTRO == SelectedImputado.ID_CENTRO && w.IMPUTADO.ID_ANIO == SelectedImputado.ID_ANIO && w.IMPUTADO.ID_IMPUTADO == SelectedImputado.ID_IMPUTADO).FirstOrDefault(); HuellasImputadosVisitas.Remove(huella); var placeholder = new Imagenes().getImagenPerson(); var foto_seguimiento = consulta_aduana_ingreso.INGRESO.INGRESO_BIOMETRICO != null?consulta_aduana_ingreso.INGRESO.INGRESO_BIOMETRICO.Where(w => w.BIOMETRICO_TIPO.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_SEGUIMIENTO).FirstOrDefault() : null; var foto_registro = consulta_aduana_ingreso.INGRESO.INGRESO_BIOMETRICO != null?consulta_aduana_ingreso.INGRESO.INGRESO_BIOMETRICO.Where(w => w.BIOMETRICO_TIPO.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_REGISTRO).FirstOrDefault() : null; ImagenImputado = foto_seguimiento != null ? foto_seguimiento.BIOMETRICO : (foto_registro != null ? foto_registro.BIOMETRICO : placeholder); MensajeResultado = enumMensajeResultadoComparacion.ENCONTRADO; } else { MensajeResultado = enumMensajeResultadoComparacion.NO_ENCONTRADO; } //} //else //{ // MensajeResultado = enumMensajeResultadoComparacion.NO_ENCONTRADO; //} } else { MensajeResultado = enumMensajeResultadoComparacion.NO_ENCONTRADO; } } catch (Exception ex) { throw new ApplicationException(ex.Message); } } else { MensajeResultado = enumMensajeResultadoComparacion.COINCIDENCIAS; } } else { MensajeResultado = enumMensajeResultadoComparacion.NO_ENCONTRADO; } } } Application.Current.Dispatcher.Invoke((Action)(delegate() { CambiarMensaje(MensajeResultado); })); }
public void ClickSwitch(Object obj) { switch (obj.ToString()) { case "0": if (NIPBuscar.Length < 13) { NIPBuscar += "0"; } break; case "1": if (NIPBuscar.Length < 13) { NIPBuscar += "1"; } break; case "2": if (NIPBuscar.Length < 13) { NIPBuscar += "2"; } break; case "3": if (NIPBuscar.Length < 13) { NIPBuscar += "3"; } break; case "4": if (NIPBuscar.Length < 13) { NIPBuscar += "4"; } break; case "5": if (NIPBuscar.Length < 13) { NIPBuscar += "5"; } break; case "6": if (NIPBuscar.Length < 13) { NIPBuscar += "6"; } break; case "7": if (NIPBuscar.Length < 13) { NIPBuscar += "7"; } break; case "8": if (NIPBuscar.Length < 13) { NIPBuscar += "8"; } break; case "9": if (NIPBuscar.Length < 13) { NIPBuscar += "9"; } break; case "backspace": if (NIPBuscar.Length > 0) { NIPBuscar = NIPBuscar.Substring(0, NIPBuscar.Length - 1); } break; case "limpiarNIP": NIPBuscar = ""; break; case "onBuscarPorNIP": var imputado = new cImputado().ObtenerPorNIP(NIPBuscar); var MensajeResultado = enumMensajeResultadoComparacion.NO_ENCONTRADO; var LOCUTORIOS = Parametro.UBICACION_VISITA_ACTUARIO; var SALA_ABOGADOS = Parametro.UBICACION_VISITA_ABOGADO; short SIN_AREA = 0; if (imputado != null) { try { var ultimo_ingreso = new cIngreso().ObtenerUltimoIngreso(imputado.ID_CENTRO, imputado.ID_ANIO, imputado.ID_IMPUTADO); var ultima_ubicacion = new cIngresoUbicacion().ObtenerUltimaUbicacion(imputado.ID_ANIO, imputado.ID_CENTRO, (int)imputado.ID_IMPUTADO, ultimo_ingreso.ID_INGRESO); //if (ultima_ubicacion.ESTATUS == (short)enumUbicacion.EN_TRANSITO && (ultima_ubicacion.ID_AREA == LOCUTORIOS || ultima_ubicacion.ID_AREA == SALA_ABOGADOS)) //{ var aduana_ingreso = new cAduanaIngreso(); var consulta_aduana_ingreso = aduana_ingreso.ObtenerAduanaIngresoSinNotificacion(imputado.ID_CENTRO, imputado.ID_ANIO, imputado.ID_IMPUTADO, ultimo_ingreso.ID_INGRESO, Fechas.GetFechaDateServer).FirstOrDefault(); if (consulta_aduana_ingreso != null && ultimo_ingreso.ID_UB_CENTRO.HasValue && ultimo_ingreso.ID_UB_CENTRO.Value == GlobalVar.gCentro) { new cAduanaIngreso().CambiarEstadoVisitaInterno(new INGRESO_UBICACION() { ID_CENTRO = consulta_aduana_ingreso.ID_CENTRO, ID_ANIO = consulta_aduana_ingreso.ID_ANIO, ID_IMPUTADO = consulta_aduana_ingreso.ID_IMPUTADO, ID_INGRESO = consulta_aduana_ingreso.ID_INGRESO, ID_CONSEC = new cIngresoUbicacion().ObtenerConsecutivo <int>(imputado.ID_CENTRO, imputado.ID_ANIO, imputado.ID_IMPUTADO, ultimo_ingreso.ID_INGRESO), ID_AREA = consulta_aduana_ingreso.ADUANA.ID_AREA != null ? (consulta_aduana_ingreso.ADUANA.ID_AREA == SALA_ABOGADOS ? SALA_ABOGADOS : LOCUTORIOS) : SIN_AREA,//ultima_ubicacion.ID_AREA == LOCUTORIOS ? LOCUTORIOS : SALA_ABOGADOS, MOVIMIENTO_FEC = Fechas.GetFechaDateServer, ACTIVIDAD = VISITA_LEGAL, ESTATUS = (short)enumUbicacion.ACTIVIDAD }, new ADUANA_INGRESO() { ID_ADUANA = consulta_aduana_ingreso.ID_ADUANA, ID_CENTRO = consulta_aduana_ingreso.ID_CENTRO, ID_ANIO = consulta_aduana_ingreso.ID_ANIO, ID_IMPUTADO = consulta_aduana_ingreso.ID_IMPUTADO, ID_INGRESO = consulta_aduana_ingreso.ID_INGRESO, INTERNO_NOTIFICADO = INTERNO_NOTIFICADO }); var imputado_entrante = new List <InternoVisitaLegal>(); imputado_entrante.Add(new InternoVisitaLegal() { ID_CENTRO = imputado.ID_CENTRO, ID_ANIO = imputado.ID_ANIO, ID_IMPUTADO = (short)imputado.ID_IMPUTADO, PATERNO = ultimo_ingreso.IMPUTADO.PATERNO.TrimEnd(), MATERNO = ultimo_ingreso.IMPUTADO.MATERNO.TrimEnd(), NOMBRE = ultimo_ingreso.IMPUTADO.NOMBRE.TrimEnd(), PERMITIR = true, HABILITAR = true }); ImputadoEntrante = imputado_entrante; SelectedImputado = ImputadoEntrante.FirstOrDefault(); var huella = HuellasImputadosVisitas.Where(w => w.IMPUTADO.ID_CENTRO == SelectedImputado.ID_CENTRO && w.IMPUTADO.ID_ANIO == SelectedImputado.ID_ANIO && w.IMPUTADO.ID_IMPUTADO == SelectedImputado.ID_IMPUTADO).FirstOrDefault(); HuellasImputadosVisitas.Remove(huella); var placeholder = new Imagenes().getImagenPerson(); var foto_seguimiento = consulta_aduana_ingreso.INGRESO.INGRESO_BIOMETRICO != null?consulta_aduana_ingreso.INGRESO.INGRESO_BIOMETRICO.Where(w => w.BIOMETRICO_TIPO.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_SEGUIMIENTO).FirstOrDefault() : null; var foto_registro = consulta_aduana_ingreso.INGRESO.INGRESO_BIOMETRICO != null?consulta_aduana_ingreso.INGRESO.INGRESO_BIOMETRICO.Where(w => w.BIOMETRICO_TIPO.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_REGISTRO).FirstOrDefault() : null; ImagenImputado = foto_seguimiento != null ? foto_seguimiento.BIOMETRICO : (foto_registro != null ? foto_registro.BIOMETRICO : placeholder); MensajeResultado = enumMensajeResultadoComparacion.ENCONTRADO; } else { MensajeResultado = enumMensajeResultadoComparacion.NO_ENCONTRADO; } //} //else //{ // MensajeResultado = enumMensajeResultadoComparacion.NO_ENCONTRADO; //} CambiarMensajeNIP(MensajeResultado); } catch (Exception ex) { throw new ApplicationException(ex.Message); } } else { MensajeResultado = enumMensajeResultadoComparacion.NO_ENCONTRADO; } break; case "OpenCloseFlyout": if (CapturaNIPVisible) { CapturaNIPVisible = false; } else { CapturaNIPVisible = true; } break; case "PermitirEntradaVisita": if (!SelectedImputado.PERMITIR) { IncidenciaRevertirVisitaLegalVisible = true; } break; case "CapturarIncidenciaRevertirUltimoMovimiento": ValidacionNIP(); if (!base.HasErrors) { var imputado_validacion = new cImputado().ObtenerPorNIP(IncidenciaNIP); ValidacionNIPInexistente(imputado_validacion); if (!base.HasErrors) { ValidacionImputadoActivo(imputado_validacion); if (!base.HasErrors) { try { RevertirUltimoMovimiento(); var huella = new cIngreso().ObtenerUltimoIngreso(SelectedImputado.ID_CENTRO, SelectedImputado.ID_ANIO, SelectedImputado.ID_IMPUTADO). IMPUTADO.IMPUTADO_BIOMETRICO.Where(wB => wB.ID_FORMATO == (short)enumTipoFormato.FMTO_DP && wB.CALIDAD > 0 && wB.BIOMETRICO_TIPO.ID_TIPO_BIOMETRICO == (short)SelectedFinger && wB.BIOMETRICO != null).AsEnumerable().Select(s => new Imputado_Huella { IMPUTADO = new cHuellasImputado { ID_ANIO = s.ID_ANIO, ID_CENTRO = s.ID_CENTRO, ID_IMPUTADO = s.ID_IMPUTADO }, FMD = Importer.ImportFmd(s.BIOMETRICO, Constants.Formats.Fmd.ANSI, Constants.Formats.Fmd.ANSI).Data, tipo_biometrico = (enumTipoBiometrico)s.BIOMETRICO_TIPO.ID_TIPO_BIOMETRICO }).FirstOrDefault(); if (huella != null) { HuellasImputadosVisitas.Add(huella); } var imputado_entrante_revertir_ultimo_movimiento = new List <InternoVisitaLegal>(); imputado_entrante_revertir_ultimo_movimiento.Add(new InternoVisitaLegal() { ID_CENTRO = SelectedImputado.ID_CENTRO, ID_ANIO = SelectedImputado.ID_ANIO, ID_IMPUTADO = SelectedImputado.ID_IMPUTADO, PATERNO = SelectedImputado.NOMBRE, MATERNO = SelectedImputado.PATERNO, NOMBRE = SelectedImputado.MATERNO, PERMITIR = false, HABILITAR = false }); TextoIncidenciaFalsoPositivo = "SIN OBSERVACIONES"; ImputadoEntrante = imputado_entrante_revertir_ultimo_movimiento; SelectedImputado = ImputadoEntrante.FirstOrDefault(); IncidenciaRevertirVisitaLegalVisible = false; } catch (Exception ex) { throw new ApplicationException(ex.Message); } } } } break; case "CapturarIncidenciaRevertirVisitaLegal": ValidacionNIP(); if (!base.HasErrors) { var imputado_validacion = new cImputado().ObtenerPorNIP(incidenciaNIP); ValidacionNIPInexistente(imputado_validacion); if (!base.HasErrors) { ValidacionImputadoActivo(imputado_validacion); if (!base.HasErrors) { try { RevertirVisitaLegal(); var huella = new cIngreso().ObtenerUltimoIngreso(SelectedImputado.ID_CENTRO, SelectedImputado.ID_ANIO, SelectedImputado.ID_IMPUTADO). IMPUTADO.IMPUTADO_BIOMETRICO.Where(wB => wB.ID_FORMATO == (short)enumTipoFormato.FMTO_DP && wB.CALIDAD > 0 && wB.BIOMETRICO_TIPO.ID_TIPO_BIOMETRICO == (short)SelectedFinger && wB.BIOMETRICO != null).AsEnumerable().Select(s => new Imputado_Huella { IMPUTADO = new cHuellasImputado { ID_ANIO = s.ID_ANIO, ID_CENTRO = s.ID_CENTRO, ID_IMPUTADO = s.ID_IMPUTADO }, FMD = Importer.ImportFmd(s.BIOMETRICO, Constants.Formats.Fmd.ANSI, Constants.Formats.Fmd.ANSI).Data, tipo_biometrico = (enumTipoBiometrico)s.BIOMETRICO_TIPO.ID_TIPO_BIOMETRICO }).FirstOrDefault(); if (huella != null) { HuellasImputadosVisitas.Add(huella); } TextoIncidenciaFalsoPositivo = "SIN OBSERVACIONES"; ImputadoEntrante = new List <InternoVisitaLegal>(); ImagenImputado = new Imagenes().getImagenPerson(); IncidenciaRevertirVisitaLegalVisible = false; } catch (Exception ex) { throw new ApplicationException(ex.Message); } } } } break; case "CancelarReversion": IncidenciaRevertirVisitaLegalVisible = false; break; } }