private void QuitarImputado()
 {
     try
     {
         var s = SelectedIngresoSeleccionado;
         if (LstIngresosSeleccionados.Remove(SelectedIngresoSeleccionado))
         {
             var encontrado = LstIngresos.FirstOrDefault(w => w.Ingreso.ID_IMPUTADO == s.ID_IMPUTADO && w.Ingreso.ID_ANIO == s.ID_ANIO && w.Ingreso.ID_CENTRO == s.ID_CENTRO);
             if (encontrado != null)
             {
                 encontrado.Seleccionado = false;
             }
             SeleccionadosIngresos.Remove(SeleccionadosIngresos.FirstOrDefault(w => w.ID_ANIO == s.ID_ANIO && w.ID_IMPUTADO == s.ID_IMPUTADO && w.ID_INGRESO == s.ID_INGRESO && w.ID_CENTRO == s.ID_CENTRO));
             StaticSourcesViewModel.SourceChanged = true;
         }
         var temp = LstIngresos;
         LstIngresos = new RangeEnabledObservableCollection <cTrasladoIngreso>();
         LstIngresos.InsertRange(temp);
         SelectedIngresoSeleccionado = null;
     }
     catch (Exception ex)
     {
         StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al agregar el imputado", ex);
     }
 }
        private async void cerrarVisualizadorDocumentos()
        {
            try
            {
                PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.VISUALIZAR_DOCUMENTOS);
                var amparo = new cAmparoIndirectoTipos().Obtener(SelectedIngreso.Ingreso.ID_CENTRO, SelectedIngreso.Ingreso.ID_ANIO, SelectedIngreso.Ingreso.ID_IMPUTADO, SelectedIngreso.Ingreso.ID_INGRESO, null, 5, 2).FirstOrDefault();
                var res    = await new Dialogos().ConfirmacionTresBotonesDinamico("Mensaje", "El interno " + ObtieneNombre(SelectedIngreso.Ingreso.IMPUTADO) + " tiene un amparo para traslado", "Agregar", Convert.ToInt32(Tipo_Respuesta.Agregar),
                                                                                  "Ver amparo", Convert.ToInt32(Tipo_Respuesta.Mostrar_Documento), string.Empty, Convert.ToInt32(Tipo_Respuesta.Cancelar));
                switch ((Tipo_Respuesta)res)
                {
                case Tipo_Respuesta.Agregar:
                    SelectedIngreso.Seleccionado = true;
                    LstIngresosSeleccionados.Add(SelectedIngreso.Ingreso);
                    SeleccionadosIngresos.Add(SelectedIngreso.Ingreso);
                    var temp = LstIngresos;
                    LstIngresos = new RangeEnabledObservableCollection <cTrasladoIngreso>();
                    LstIngresos.InsertRange(temp);
                    SelectedIngreso = null;
                    break;

                case Tipo_Respuesta.Cancelar:
                    SelectedIngreso = null;
                    break;

                case Tipo_Respuesta.Mostrar_Documento:
                    var encontro_amparo_doc = new cAmparoIndirectoDocto().Obtener(amparo.ID_CENTRO, amparo.ID_ANIO, amparo.ID_IMPUTADO, amparo.ID_INGRESO, amparo.ID_AMPARO_INDIRECTO).FirstOrDefault();
                    if (encontro_amparo_doc == null)
                    {
                        new Dialogos().ConfirmacionDialogo("Mensaje", "El documento del amparo no se encuentra en el sistema");
                    }
                    else
                    {
                        var _file = encontro_amparo_doc.DOCUMENTO;
                        await Task.Factory.StartNew(() =>
                        {
                            var fileNamepdf = Path.GetTempPath() + Path.GetRandomFileName().Split('.')[0] + ".pdf";
                            File.WriteAllBytes(fileNamepdf, _file);
                            Application.Current.Dispatcher.Invoke((System.Action)(delegate
                            {
                                PDFViewer.LoadFile(fileNamepdf);
                                PDFViewer.Visibility = Visibility.Visible;
                            }));
                        });

                        PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.VISUALIZAR_DOCUMENTOS);
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al agregar el imputado", ex);
            }
        }
        private async Task ObtenerTodosActivos(int _Pag = 1)
        {
            try
            {
                var ingresos = await SegmentarIngresoBusqueda(_Pag);

                var temp = new ObservableCollection <cTrasladoIngreso>();
                foreach (var x in ingresos)
                {
                    if (SeleccionadosIngresos == null)
                    {
                        temp.Add(new cTrasladoIngreso()
                        {
                            Ingreso = x, Seleccionado = false
                        });
                    }
                    else
                    {
                        if (SeleccionadosIngresos.FirstOrDefault(w => w.ID_IMPUTADO == x.ID_IMPUTADO && w.ID_ANIO == x.ID_ANIO) == null)
                        {
                            temp.Add(new cTrasladoIngreso()
                            {
                                Ingreso = x, Seleccionado = false
                            });
                        }
                        else
                        {
                            temp.Add(new cTrasladoIngreso()
                            {
                                Ingreso = x, Seleccionado = true
                            });
                        }
                    }
                }
                LstIngresos.InsertRange(temp);
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al consultar internos.", ex);
            }
        }