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;
            }
        }
        //CLICK SWITCH - BOTONES
        public async void ClickSwitch(object obj)
        {
            switch (obj.ToString())
            {
            case "BuscarClick":
                VentanaBusqueda.Hide();
                await StaticSourcesViewModel.CargarDatosMetodoAsync(() =>
                {
                    var AnioBusqueda  = 0;
                    var FolioBusqueda = 0;
                    Int32.TryParse(AnioBuscar, out AnioBusqueda);
                    Int32.TryParse(FolioBuscar, out FolioBusqueda);
                    if (!string.IsNullOrEmpty(NombreBuscar) || !string.IsNullOrEmpty(ApellidoPaternoBuscar) || !string.IsNullOrEmpty(ApellidoMaternoBuscar) || AnioBusqueda != 0 || FolioBusqueda != 0)
                    {
                        try
                        {
                            ListExpediente.Clear();
                            var imputados_busqueda            = new List <InternosActividad>();
                            List <GRUPO_ASISTENCIA> imputados = new InternosActividad().ObtenerInternos(Areas, NombreBuscar, ApellidoPaternoBuscar, ApellidoMaternoBuscar, (short)AnioBusqueda, FolioBusqueda).Where(w =>

                                                                                                                                                                                                                     //FILTRA CON LA FECHA DEL SERVER
                                                                                                                                                                                                                     w.GRUPO_HORARIO.HORA_INICIO.Value.Day == Fechas.GetFechaDateServer.Day &&
                                                                                                                                                                                                                     w.GRUPO_HORARIO.HORA_INICIO.Value.Month == Fechas.GetFechaDateServer.Month &&
                                                                                                                                                                                                                     w.GRUPO_HORARIO.HORA_INICIO.Value.Year == Fechas.GetFechaDateServer.Year &&
                                                                                                                                                                                                                     w.GRUPO_HORARIO.HORA_INICIO.Value.Hour == Fechas.GetFechaDateServer.Hour &&

                                                                                                                                                                                                                     //FILTRA A LOS INTERNOS CON TRASLADOS EN PROCESO Ó ACTIVOS
                                                                                                                                                                                                                     (w.GRUPO_PARTICIPANTE.INGRESO.TRASLADO_DETALLE.Where(
                                                                                                                                                                                                                          wTD =>
                                                                                                                                                                                                                          wTD.TRASLADO.TRASLADO_FEC.Year == Fechas.GetFechaDateServer.Year &&
                                                                                                                                                                                                                          wTD.TRASLADO.TRASLADO_FEC.Month == Fechas.GetFechaDateServer.Month &&
                                                                                                                                                                                                                          wTD.TRASLADO.TRASLADO_FEC.Day == Fechas.GetFechaDateServer.Day &&
                                                                                                                                                                                                                          (wTD.TRASLADO.ID_ESTATUS == "EP" || wTD.TRASLADO.ID_ESTATUS == "AC")).Count() == 0) &&

                                                                                                                                                                                                                     //FILTRA A LOS INTERNOS CON EXCARCELACIONES EN PROCESO Ó ACTIVAS
                                                                                                                                                                                                                     (w.GRUPO_PARTICIPANTE.INGRESO.EXCARCELACION.Where(
                                                                                                                                                                                                                          wEXC =>
                                                                                                                                                                                                                          wEXC.PROGRAMADO_FEC.Value.Year == Fechas.GetFechaDateServer.Year &&
                                                                                                                                                                                                                          wEXC.PROGRAMADO_FEC.Value.Month == Fechas.GetFechaDateServer.Month &&
                                                                                                                                                                                                                          wEXC.PROGRAMADO_FEC.Value.Day == Fechas.GetFechaDateServer.Day &&
                                                                                                                                                                                                                          wEXC.ID_ESTATUS == "EP" || wEXC.ID_ESTATUS == "AC").Count() == 0)
                                                                                                                                                                                                                     ).ToList();


                            foreach (var imputado in imputados)
                            {
                                if (!ListaSeleccionados.Where(w =>
                                                              w.Anio == imputado.GRUPO_PARTICIPANTE.ING_ID_ANIO &&
                                                              w.Centro == imputado.GRUPO_PARTICIPANTE.ING_ID_CENTRO &&
                                                              w.IdImputado == imputado.GRUPO_PARTICIPANTE.ING_ID_IMPUTADO).Any())
                                {
                                    imputados_busqueda.Add(new InternosActividad()
                                    {
                                        Actividad   = imputado.GRUPO_PARTICIPANTE.ACTIVIDAD.DESCR,
                                        Anio        = (short)imputado.GRUPO_PARTICIPANTE.ING_ID_ANIO,
                                        Area        = (short)imputado.GRUPO_HORARIO.ID_AREA,
                                        Asistencia  = imputado.ASISTENCIA == 1 ? true : false,
                                        Centro      = (short)imputado.GRUPO_PARTICIPANTE.ING_ID_CENTRO,
                                        Expediente  = string.Format("{0}/{1}", imputado.GRUPO_PARTICIPANTE.ING_ID_ANIO, imputado.GRUPO_PARTICIPANTE.ING_ID_IMPUTADO),
                                        IdIngreso   = (short)imputado.GRUPO_PARTICIPANTE.ING_ID_INGRESO,
                                        IdImputado  = (short)imputado.GRUPO_PARTICIPANTE.ING_ID_IMPUTADO,
                                        Id_Grupo    = (short)imputado.GRUPO_PARTICIPANTE.ID_GRUPO,
                                        IdConsec    = (short)imputado.ID_CONSEC,
                                        Materno     = imputado.GRUPO_PARTICIPANTE.INGRESO.IMPUTADO.MATERNO,
                                        Paterno     = imputado.GRUPO_PARTICIPANTE.INGRESO.IMPUTADO.PATERNO,
                                        Nombre      = imputado.GRUPO_PARTICIPANTE.INGRESO.IMPUTADO.NOMBRE,
                                        NIP         = imputado.GRUPO_PARTICIPANTE.INGRESO.IMPUTADO.NIP,
                                        Ubicacion   = imputado.GRUPO_HORARIO.AREA.DESCR,
                                        Seleccionar = false,
                                        Responsable = string.Format("{1} {2} {0}", imputado.GRUPO_PARTICIPANTE.GRUPO.PERSONA.NOMBRE.TrimEnd(), imputado.GRUPO_PARTICIPANTE.GRUPO.PERSONA.PATERNO.TrimEnd(), imputado.GRUPO_PARTICIPANTE.GRUPO.PERSONA.MATERNO.TrimEnd())
                                    });
                                }
                            }
                            ListExpediente = imputados_busqueda;
                            if (ListExpediente.Count > 0)
                            {
                                EmptyBusquedaVisible = false;
                            }
                            else
                            {
                                EmptyBusquedaVisible = true;
                            }
                        }


                        catch (Exception ex)
                        {
                            StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al realizar la busqueda de participantes.", ex);
                        }
                    }
                    else
                    {
                        ListExpediente = new List <InternosActividad>();
                    }
                });

                VentanaBusqueda.ShowDialog();

                break;

            case "SeleccionarImputado":
                if (SelectedImputado != null)
                {
                    if (SelectedImputado.FotoInterno == null)
                    {
                        try
                        {
                            var ingreso_biometrico = new cIngresoBiometrico();
                            var placeholder        = new Imagenes().getImagenPerson();
                            var foto_ingreso       = ingreso_biometrico.Obtener(SelectedImputado.Anio, SelectedImputado.Centro, SelectedImputado.IdImputado, (short)enumTipoBiometrico.FOTO_FRENTE_REGISTRO).FirstOrDefault();
                            var foto_seguimiento   = ingreso_biometrico.Obtener(SelectedImputado.Anio, SelectedImputado.Centro, SelectedImputado.IdImputado, (short)enumTipoBiometrico.FOTO_FRENTE_SEGUIMIENTO).FirstOrDefault();
                            SelectedImputadoFotoIngreso     = foto_ingreso != null ? foto_ingreso.BIOMETRICO : placeholder;
                            SelectedImputadoFotoSeguimiento = foto_seguimiento != null ? foto_seguimiento.BIOMETRICO : placeholder;
                        }
                        catch (Exception ex)
                        {
                            StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al obtener fotos del imputado seleccionado.", ex);
                        }
                    }
                }
                break;

            case "0":
                if (NIPBuscar.Length < 10)
                {
                    NIPBuscar += "0";
                }
                break;

            case "1":
                if (NIPBuscar.Length < 10)
                {
                    NIPBuscar += "1";
                }
                break;

            case "2":
                if (NIPBuscar.Length < 10)
                {
                    NIPBuscar += "2";
                }
                break;

            case "3":
                if (NIPBuscar.Length < 10)
                {
                    NIPBuscar += "3";
                }
                break;

            case "4":
                if (NIPBuscar.Length < 10)
                {
                    NIPBuscar += "4";
                }
                break;

            case "5":
                if (NIPBuscar.Length < 10)
                {
                    NIPBuscar += "5";
                }
                break;

            case "6":
                if (NIPBuscar.Length < 10)
                {
                    NIPBuscar += "6";
                }
                break;

            case "7":
                if (NIPBuscar.Length < 10)
                {
                    NIPBuscar += "7";
                }
                break;

            case "8":
                if (NIPBuscar.Length < 10)
                {
                    NIPBuscar += "8";
                }
                break;

            case "9":
                if (NIPBuscar.Length < 10)
                {
                    NIPBuscar += "9";
                }
                break;

            case "backspace":
                if (NIPBuscar.Length > 0)
                {
                    NIPBuscar = NIPBuscar.Substring(0, NIPBuscar.Length - 1);
                }
                break;

            case "limpiarNIP":
                NIPBuscar = "";
                break;

            case "onBuscarPorNIP":
                var NIP = 0;
                try
                {
                    if (Int32.TryParse(NIPBuscar, out NIP))
                    {
                        SelectedCustodio = new cEmpleado().Obtener(NIP);

                        if (SelectedCustodio != null)
                        {
                            NombreCustodio  = SelectedCustodio.PERSONA.NOMBRE.TrimEnd();
                            PaternoCustodio = SelectedCustodio.PERSONA.PATERNO.TrimEnd();
                            MaternoCustodio = SelectedCustodio.PERSONA.MATERNO.TrimEnd();
                            AnioCustodio    = SelectedCustodio.REGISTRO_FEC.Value.Year.ToString();
                            IDCustodio      = SelectedCustodio.ID_EMPLEADO.ToString();
                            var consulta_foto_custodio = SelectedCustodio.PERSONA.PERSONA_BIOMETRICO.Where(w => w.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_REGISTRO).FirstOrDefault();
                            FotoCustodio = consulta_foto_custodio != null ? consulta_foto_custodio.BIOMETRICO : new Imagenes().getImagenPerson();
                            CambiarMensajeNIP(enumMensajeNIP.ENCONTRADO);
                        }
                        else
                        {
                            CambiarMensajeNIP(enumMensajeNIP.NO_ENCONTRADO);
                        }
                    }
                }
                catch (Exception ex)
                {
                    VentanaBusqueda.Hide();
                    StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al obtener informacion de un custodio (Error al buscar por ID).", ex);
                }

                break;

            case "Autorizar":
                try
                {
                    var ingreso_ubicacion = new cIngresoUbicacion();
                    using (TransactionScope transaccion = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions()
                    {
                        IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted
                    }))
                    {
                        foreach (var imputado in ListExpediente)
                        {
                        }

                        transaccion.Complete();
                    }
                }
                catch (Exception ex)
                {
                    StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al asignar el custodio seleccionado.", ex);
                }
                break;

            case "SeleccionarInternos":
                if (ListExpediente.Count > 0)
                {
                    var seleccionados       = ListExpediente.Where(w => w.Seleccionar).ToList();
                    var lista_seleccionados = seleccionados != null ? seleccionados : new List <InternosActividad>();
                    if (lista_seleccionados.Count > 0)
                    {
                        EmptySeleccionadosVisible = false;
                        ListaSeleccionados.AddRange(lista_seleccionados);
                        RaisePropertyChanged("ListaSeleccionados");
                    }

                    else
                    {
                        EmptySeleccionadosVisible = true;
                        await VentanaBusqueda.ShowMessageAsync("Validación", "Debe seleccionar al menos un interno.");
                    }
                }
                else
                {
                    await VentanaBusqueda.ShowMessageAsync("Validación", "No hay internos resultantes de la búsqueda. Por favor, intente más tarde ó ejecute una nueva búsqueda.");
                }
                break;

            case "RemoverInternos":
                if (ListaSeleccionados.Count > 0)
                {
                    var seleccionados       = ListaSeleccionados.Where(w => w.Seleccionar).ToList();
                    var lista_seleccionados = seleccionados != null ? seleccionados : new List <InternosActividad>();
                    if (lista_seleccionados.Count > 0)
                    {
                    }
                    else
                    {
                        await VentanaBusqueda.ShowMessageAsync("Validación", "Debe seleccionar al menos un interno.");
                    }
                }
                else
                {
                    await VentanaBusqueda.ShowMessageAsync("Validación", "No hay internos seleccionados.");
                }
                break;

            case "Limpiar":
                SelectedJustificacion = enumTipoSalida.TRASLADO;
                NombreCustodio        = "";
                PaternoCustodio       = "";
                MaternoCustodio       = "";
                AnioCustodio          = "";
                IDCustodio            = "";
                FotoCustodio          = new Imagenes().getImagenPerson();
                break;

            case "LimpiarClick":
                var placeholder_limpiar = new Imagenes().getImagenPerson();
                SelectedImputadoFotoIngreso     = placeholder_limpiar;
                SelectedImputadoFotoSeguimiento = placeholder_limpiar;
                NombreBuscar          = "";
                ApellidoPaternoBuscar = "";
                ApellidoMaternoBuscar = "";
                AnioBuscar            = "";
                FolioBuscar           = "";
                ListExpediente        = new List <InternosActividad>();
                EmptyBusquedaVisible  = true;
                break;
            }
        }