private void TotalInternos()
 {
     try
     {
         int tp   = new cIngreso().ObtenerTotalInternos(GlobalVar.gCentro);
         int temi = new cIngreso().ObtenerEMICompletoTotal(GlobalVar.gCentro);
         Total = string.Format("Población Activa:{0}  Población Entrevista Aplicada:{1}  Población sin Entrevista: {2}", tp, temi, (tp - temi));
         //int
         //if (filtro == (short)enumEMIPendiente.SIN_EMI)
         //{
         //    int totalSEMI = new cIngreso().ObtenerSinEMITotal(GlobalVar.gCentro);
         //    int totalCEMI = new cIngreso().ObtenerTotalInternos(GlobalVar.gCentro);
         //    Total = string.Format("Total Internos Centro: {0}, Total Internos sin E.M.I.: {1}, Porcentaje de internos sin E.M.I.: {2}%", totalCEMI, totalSEMI, totalCEMI > 0 ? (totalSEMI * 100) / totalCEMI : 0);
         //}
         //else
         //{
         //    int totalIEMI = new cIngreso().ObtenerEMIIncompletoTotal(GlobalVar.gCentro, "P");
         //    int totalCEMI = new cIngreso().ObtenerEMICompletoTotal(GlobalVar.gCentro);
         //    Total = string.Format("Total internos con E.M.I. completo: {0}, Total Internos con E.M.I. incompleto: {1}, Porcentaje de internos con E.M.I. incompleto: {2}%", totalCEMI, totalIEMI, (totalCEMI + totalIEMI) > 0 ? (totalIEMI * 100) / (totalCEMI + totalIEMI) : 0);
         //}
     }
     catch (Exception ex)
     {
         StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al consultar totales de internos.", ex);
     }
 }
        private void GenerarReporteQuery()
        {
            try
            {
                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    reporte.Reset();
                    ReportViewerVisible = Visibility.Collapsed;
                }));
                var encabezado1 = Parametro.ENCABEZADO1.Trim();
                var encabezado2 = Parametro.ENCABEZADO2.Trim();
                var encabezado3 = Parametro.ENCABEZADO3.Trim();
                var logo1       = Parametro.REPORTE_LOGO1;
                var logo2       = Parametro.REPORTE_LOGO2;
                var img_persona = new Imagenes().getImagenPerson();
                var cndh        = new Imagenes().getImagenCNDH();
                var cedhbc      = new Imagenes().getImagenCEDHBC();
                var lPapeletas  = new cIngreso().ObtenerInternosPapeletas(GlobalVar.gCentro, FEdificio != -1 ? (short?)FEdificio : null, FSector != -1 ? (short?)FSector : null).Select(w => new cPapeleta()
                {
                    Encabezado1 = encabezado1,
                    Encabezado2 = encabezado2,
                    Encabezado3 = encabezado3,
                    Logo1       = logo1,
                    Logo2       = logo2,
                    Edificio    = w.EDIFICIO,
                    Sector      = w.EDIFICIO,
                    Celda       = w.CELDA,
                    Cama        = w.CAMA,
                    Id_Anio     = w.ID_ANIO,
                    Id_Imputado = w.ID_IMPUTADO,
                    Nombre      = w.NOMBRE,
                    Paterno     = w.PATERNO,
                    Materno     = w.MATERNO,
                    FotoInterno = w.FOTO != null ? w.FOTO : img_persona,
                    CNDH        = cndh,
                    CEDHBC      = cedhbc,
                });

                Reporte.LocalReport.ReportPath = "Reportes/rPapeletas.rdlc";
                Reporte.LocalReport.DataSources.Clear();
                ReportDataSource ReportDataSource = new ReportDataSource();
                ReportDataSource.Name  = "DataSet1";
                ReportDataSource.Value = lPapeletas;
                Reporte.LocalReport.DataSources.Add(ReportDataSource);
                Reporte.LocalReport.SetParameters(new ReportParameter("FechaInicial", string.Format("{0} DE {1} DEL {2}", SelectedFechaInicial.Day, Enum.GetName(typeof(eMesesAnio), SelectedFechaInicial.Month), SelectedFechaInicial.Year)));
                Reporte.LocalReport.SetParameters(new ReportParameter("FechaFinal", string.Format("{0} DE {1} DEL {2}", SelectedFechaFinal.Day, Enum.GetName(typeof(eMesesAnio), SelectedFechaFinal.Month), SelectedFechaFinal.Year)));
                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    Reporte.Refresh();
                    Reporte.RefreshReport();
                    ReportViewerVisible = Visibility.Visible;
                }));
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al generar reporte", ex);
            }
        }
Esempio n. 3
0
        private void GenerarReporteConQuery()
        {
            try
            {
                var centro     = new cCentro().Obtener(GlobalVar.gCentro).FirstOrDefault();
                var encabezado = new System.Collections.Generic.List <cEncabezado>();
                encabezado.Add(new cEncabezado()
                {
                    ImagenIzquierda = Parametro.REPORTE_LOGO2,
                    ImagenDerecha   = Parametro.REPORTE_LOGO1,
                    TituloUno       = Parametro.ENCABEZADO1,
                    TituloDos       = Parametro.ENCABEZADO2,
                    NombreReporte   = centro != null ? !string.IsNullOrEmpty(centro.DESCR) ? centro.DESCR.Trim() : string.Empty : string.Empty,
                    PieUno          = string.Format("Reporte de Reincidentes por Fuero y Delito \n Del {0} Al {1}",
                                                    SelectedFechaInicial.HasValue ? SelectedFechaInicial.Value.ToString("dd/MM/yyyy") : string.Empty,
                                                    SelectedFechaFinal.HasValue ? SelectedFechaFinal.Value.ToString("dd/MM/yyyy") : string.Empty)
                });

                var reporte = new cIngreso().ReporteReincidencias(GlobalVar.gCentro).Select(w => new cReporteReingreso()
                {
                    FUERO     = w.ID_FUERO == "C" ? "COMUN" : "FEDERAL",
                    ID_DELITO = w.ID_DELITO,
                    DELITO    = w.DELITO,
                    TOTAL_M   = w.TOTAL_M,
                    TOTAL_F   = w.TOTAL_F,
                    TOTAL     = w.TOTAL
                });

                System.Windows.Application.Current.Dispatcher.Invoke((System.Action)(delegate
                {
                    Reporte.Reset();
                }));

                Reporte.LocalReport.ReportPath = "Reportes/rReporteReincidentesNew.rdlc";
                Reporte.LocalReport.DataSources.Clear();

                Microsoft.Reporting.WinForms.ReportDataSource ds1 = new Microsoft.Reporting.WinForms.ReportDataSource();
                ds1.Name  = "DataSet1";
                ds1.Value = encabezado;
                Reporte.LocalReport.DataSources.Add(ds1);

                Microsoft.Reporting.WinForms.ReportDataSource ds2 = new Microsoft.Reporting.WinForms.ReportDataSource();
                ds2.Name  = "DataSet2";
                ds2.Value = reporte;
                Reporte.LocalReport.DataSources.Add(ds2);

                System.Windows.Application.Current.Dispatcher.Invoke((System.Action)(delegate
                {
                    Reporte.Refresh();
                    Reporte.RefreshReport();
                }));
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al generar reporte", ex);
            }
        }
Esempio n. 4
0
        private void GenerarReporteConQuery()
        {
            try
            {
                var datosReporte = new List <cReporteDatos>();
                datosReporte.Add(new cReporteDatos()
                {
                    Encabezado1 = Parametro.ENCABEZADO1,
                    Encabezado2 = Parametro.ENCABEZADO2,
                    Encabezado3 = Parametro.ENCABEZADO3,
                    Logo1       = Parametro.REPORTE_LOGO1,
                    Logo2       = Parametro.REPORTE_LOGO2,
                    Titulo      = "REPORTE CONTROL DE INTERNOS EN EDIFICIO"
                });

                var reporte = new cIngreso().ReporteUbicacionIngresoEdificio(GlobalVar.gCentro, FechaInicio.Value.Date, FechaFin.Value.Date).Select(w => new cControlInternosEdificio()
                {
                    EXPEDIENTE = string.Format("{0}-{1}", w.ID_ANIO, w.ID_IMPUTADO),
                    NOMBRE     = string.Format("{0} {1} {2}", w.NOMBRE, w.PATERNO, w.MATERNO),
                    UBICACION  = string.Format("{0}-{1}-{2}-{3}", w.EDIFICIO, w.SECTOR, w.CELDA, w.CAMA),
                    FECHA      = w.MOVIMIENTO_FEC.ToShortDateString(),
                    AREA       = w.AREA,
                    SALIDA     = w.ESTATUS == 1 ? (DateTime?)w.MOVIMIENTO_FEC : null,
                    ENTRADA    = (w.ESTATUS == 0 || w.ESTATUS == 2) ? (DateTime?)w.MOVIMIENTO_FEC : null,
                    MOTIVO     = w.ACTIVIDAD
                });
                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    Repositorio.Visibility = Visibility.Collapsed;
                    Reporte.Reset();
                }));
                Reporte.LocalReport.ReportPath = "Reportes/rControlInternosEdificioNew.rdlc";
                Reporte.LocalReport.DataSources.Clear();

                ReportDataSource rds1 = new ReportDataSource();
                rds1.Name  = "DataSet1";
                rds1.Value = datosReporte;
                Reporte.LocalReport.DataSources.Add(rds1);

                ReportDataSource rds2 = new ReportDataSource();
                rds2.Name  = "DataSet2";
                rds2.Value = reporte;
                Reporte.LocalReport.DataSources.Add(rds2);

                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    Reporte.Refresh();
                    Reporte.RefreshReport();
                    Repositorio.Visibility = Visibility.Visible;
                }));
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al generar reporte", ex);
            }
        }
        public void ObtenerIngresos()
        {
            var Anio  = 0;
            var Folio = 0;

            int.TryParse(AnioBuscarImputado, out Anio);
            int.TryParse(FolioBuscarImputado, out Folio);

            var Ingresos = new cIngreso().ObtenerTodosReporte(GlobalVar.gCentro, Anio != 0 ? Anio : 0, Folio != 0 ? Folio : 0, !string.IsNullOrEmpty(NombreBuscarImputado) ? NombreBuscarImputado : string.Empty, !string.IsNullOrEmpty(PaternoBuscarImputado) ? PaternoBuscarImputado : string.Empty, !string.IsNullOrEmpty(MaternoBuscarImputado) ? MaternoBuscarImputado : string.Empty);

            if (Ingresos.Any())
            {
                Pagina++;
                SeguirCargandoIngresos = true;
                var lista_ingresos = new List <cFormatoIdentificacion>(ListaIngresos);
                foreach (var Ingreso in Ingresos)
                {
                    var foto_ingreso = Ingreso.INGRESO_BIOMETRICO.Where(w => w.BIOMETRICO_TIPO.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_REGISTRO).FirstOrDefault();
                    var foto_centro  = Ingreso.INGRESO_BIOMETRICO.Where(w => w.BIOMETRICO_TIPO.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_SEGUIMIENTO).FirstOrDefault();
                    var interno      = new cFormatoIdentificacion()
                    {
                        Id_Anio     = Ingreso.ID_ANIO,
                        Id_Imputado = Ingreso.ID_IMPUTADO,
                        Id_ingreso  = Ingreso.ID_INGRESO,
                        Nombre      = !string.IsNullOrEmpty(Ingreso.IMPUTADO.NOMBRE) ? Ingreso.IMPUTADO.NOMBRE.TrimEnd() : string.Empty,
                        Paterno     = !string.IsNullOrEmpty(Ingreso.IMPUTADO.PATERNO) ? Ingreso.IMPUTADO.PATERNO.TrimEnd() : string.Empty,
                        Materno     = !string.IsNullOrEmpty(Ingreso.IMPUTADO.MATERNO) ? Ingreso.IMPUTADO.MATERNO.TrimEnd() : string.Empty,
                    };
                    if (ListaIngresosSeleccionados.Any())
                    {
                        if (!(ListaIngresosSeleccionados.Count(c =>
                                                               c.Id_Anio == interno.Id_Anio &&
                                                               c.Id_Imputado == interno.Id_Imputado &&
                                                               c.Id_ingreso == interno.Id_ingreso) > 0))
                        {
                            lista_ingresos.Add(interno);
                        }
                    }
                    else
                    {
                        lista_ingresos.Add(interno);
                    }
                }
                ListaIngresos = lista_ingresos;
                EmptyVisible  = !lista_ingresos.Any();
            }
            else
            {
                SeguirCargandoIngresos = false;
            }
        }
        /// <summary>
        /// Método que obtiene las excarcelaciones de acuerdo al estatus seleccionado.
        /// </summary>
        public void ObtenerExcarcelaciones() ///===CHECK===
        {
            try
            {
                System.DateTime _fechaH = Fechas.GetFechaDateServer;

                //Se obtienen los ingresos que tengan alguna excarcelación
                var ingresos = new cIngreso().ObtenerIngresosActivos(GlobalVar.gCentro).Where(w => w.EXCARCELACION.Any()).ToList();
                //Se obtiene el estatus seleccionado
                var estatus_seleccionado = DecisionEstatusExcarcelaciones();
                //Se obtienen las excarcelaciones de acuerdo al estatus seleccionado en cuestión a los ingresos que tienen una excarcelación
                var lista_ingresos = ingresos != null?ingresos.Any() ? ingresos.Where(w => (w.EXCARCELACION.Where(wEXC =>
                                                                                                                  wEXC.ID_ESTATUS == estatus_seleccionado &&
                                                                                                                  (wEXC.PROGRAMADO_FEC.Value.Year == FechaServer.Year && //LA VARIABLE DEL CAMPO DE FECHA SE LLAMA FECHASERVER
                                                                                                                   wEXC.PROGRAMADO_FEC.Value.Month == FechaServer.Month &&
                                                                                                                   wEXC.PROGRAMADO_FEC.Value.Day == FechaServer.Day))
                                                                                            .ToList().Count > 0)).ToList() : new List <INGRESO>() : new List <INGRESO>();

                var lista_ingresos_excarcelaciones = new List <InternoIngresoExcarcelacion>();
                var ingreso_ubicacion = new cIngresoUbicacion();
                var excarcelacion     = new cExcarcelacion();
                foreach (var ingreso in lista_ingresos)
                {
                    var ultima_ubicacion     = ingreso_ubicacion.ObtenerUltimaUbicacion(ingreso.ID_ANIO, ingreso.ID_CENTRO, ingreso.ID_IMPUTADO, ingreso.ID_INGRESO);
                    var excarcelacion_activa = excarcelacion.ObtenerImputadoExcarcelaciones(ingreso.ID_CENTRO, ingreso.ID_ANIO, ingreso.ID_IMPUTADO, ingreso.ID_INGRESO).Where(w =>
                                                                                                                                                                               w.ID_ESTATUS == EXCARCELACION_ACTIVA &&
                                                                                                                                                                               w.PROGRAMADO_FEC.Value.Year == FechaServer.Year &&
                                                                                                                                                                               w.PROGRAMADO_FEC.Value.Month == FechaServer.Month &&
                                                                                                                                                                               w.PROGRAMADO_FEC.Value.Day == FechaServer.Day).Any();
                    lista_ingresos_excarcelaciones.Add(new InternoIngresoExcarcelacion()
                    {
                        Id_Centro        = ingreso.ID_CENTRO,
                        Id_Anio          = ingreso.ID_ANIO,
                        Id_Imputado      = ingreso.ID_IMPUTADO,
                        Id_Ingreso       = ingreso.ID_INGRESO,
                        Nombre           = ingreso.IMPUTADO != null ? !string.IsNullOrEmpty(ingreso.IMPUTADO.NOMBRE) ? ingreso.IMPUTADO.NOMBRE.Trim() : string.Empty : string.Empty,
                        Paterno          = ingreso.IMPUTADO != null ? !string.IsNullOrEmpty(ingreso.IMPUTADO.PATERNO) ? ingreso.IMPUTADO.PATERNO.Trim() : string.Empty : string.Empty,
                        Materno          = ingreso.IMPUTADO != null ? !string.IsNullOrEmpty(ingreso.IMPUTADO.MATERNO) ? ingreso.IMPUTADO.MATERNO.Trim() : string.Empty : string.Empty,
                        EnSalidaDeCentro = (ultima_ubicacion != null && ultima_ubicacion.ID_AREA == SALIDA_DE_CENTRO && ultima_ubicacion.ESTATUS == (short)enumUbicacion.ACTIVIDAD && !excarcelacion_activa)
                    });
                }
                ListaIngresos = lista_ingresos_excarcelaciones;
            }
            //Si ocurrió un error, entonces...
            catch (Exception ex)
            {
                //Se le notifica al usuario que ocurrió un error
                StaticSourcesViewModel.ShowMessageError("Algo Paso...", "Ocurrió un error al obtener las excarcelaciones", ex);
            }
        }
        public void RevertirUltimoMovimiento()
        {
            var aduana_ingreso          = new cAduanaIngreso();
            var ingreso                 = new cIngreso().ObtenerUltimoIngreso(SelectedImputado.ID_CENTRO, SelectedImputado.ID_ANIO, SelectedImputado.ID_IMPUTADO);
            var consulta_aduana_ingreso = aduana_ingreso.ObtenerAduanaIngresoConNotificacion(ingreso.ID_CENTRO, ingreso.ID_ANIO, ingreso.ID_IMPUTADO, ingreso.ID_INGRESO, Fechas.GetFechaDateServer).FirstOrDefault();
            var imputado_incidente      = new cImputado().ObtenerPorNIP(IncidenciaNIP);
            var ingreso_incidente       = imputado_incidente.INGRESO.OrderByDescending(o => o.ID_INGRESO).FirstOrDefault().ID_INGRESO;
            var LOCUTORIOS              = Parametro.UBICACION_VISITA_ACTUARIO;

            new cAduanaIngreso().CambiarEstadoVisitaInterno(new INGRESO_UBICACION()
            {
                ID_CENTRO      = ingreso.ID_CENTRO,
                ID_ANIO        = ingreso.ID_ANIO,
                ID_IMPUTADO    = ingreso.ID_IMPUTADO,
                ID_INGRESO     = ingreso.ID_INGRESO,
                ID_CONSEC      = new cIngresoUbicacion().ObtenerConsecutivo <int>(ingreso.ID_CENTRO, ingreso.ID_ANIO, ingreso.ID_IMPUTADO, ingreso.ID_INGRESO),
                ID_AREA        = LOCUTORIOS,
                MOVIMIENTO_FEC = Fechas.GetFechaDateServer,
                ACTIVIDAD      = VISITA_LEGAL,
                ESTATUS        = (short)enumUbicacion.EN_TRANSITO
            }, 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_NO_NOTIFICADO
            }, new INCIDENTE()
            {
                ID_CENTRO         = imputado_incidente.ID_CENTRO,
                ID_ANIO           = imputado_incidente.ID_ANIO,
                ID_IMPUTADO       = imputado_incidente.ID_IMPUTADO,
                ID_INGRESO        = ingreso_incidente,
                ID_INCIDENTE      = new cIncidente().ObtenerConsecutivo <short>(imputado_incidente.ID_CENTRO, imputado_incidente.ID_ANIO, imputado_incidente.ID_IMPUTADO, ingreso_incidente),
                ID_INCIDENTE_TIPO = (short)enumIncidente.NORMAL,
                REGISTRO_FEC      = Fechas.GetFechaDateServer,
                MOTIVO            = TextoIncidenciaFalsoPositivo
            });
        }
Esempio n. 8
0
        public void imprimir()
        {
            try
            {
                V_INV_ENCA_INGR enca = (from u in _datasistema.ContextoInventario.V_INV_ENCA_INGR
                                        where u.ID == (int)UIID.EditValue
                                        select u).First();
                List <V_INV_DETA_INGR> detas = (from u in _datasistema.ContextoInventario.V_INV_DETA_INGR
                                                where u.ID_INGR == (int)UIID.EditValue
                                                select u).ToList();
                cIngreso data = new cIngreso(enca, detas);

                rpt_ingreso     rpt     = new rpt_ingreso();
                List <cIngreso> prpdata = new List <cIngreso>();
                prpdata.Add(data);
                rpt.DataSource = prpdata;
                //rpt.ShowPreviewDialog();
            }
            catch (Exception ex)
            {
                MetodosForm.mensajeErrorDefault(ex.Message, _datasistema);
            }
        }
 private void ObtenerTodo()
 {
     try
     {
         bool completo = false;
         ConfiguraPermisos();
         //var m = new ObservableCollection<LIBERACION>(new cLiberacion().ObtenerTodos("N", GlobalVar.gCentro)).Select(w => new cLiberacionBiometrica { Liberacion  = w, ImagenEgreso = null});
         LstLiberacion = new ObservableCollection <cLiberacionBiometrica>();//(m);
         #region Liberacion
         var ingresos = new cIngreso().ObtenerIngresosActivos(GlobalVar.gCentro, null, null, true);
         if (ingresos != null)
         {
             foreach (var i in ingresos)
             {
                 completo = false;
                 var cps = i.CAUSA_PENAL;
                 if (cps != null)
                 {
                     completo = true;
                     foreach (var cp in cps)
                     {
                         if (cp.ID_ESTATUS_CP != (int)enumEstatusCausaPenal.CONCLUIDO)//validacion de activos
                         {
                             completo = false;
                             break;
                         }
                         if (cp.LIBERACION != null)
                         {
                             if (cp.LIBERACION.Count == 0)
                             {
                                 completo = false;
                                 break;
                             }
                         }
                         else
                         {
                             completo = false;
                             break;
                         }
                     }
                 }
                 if (completo)
                 {
                     Application.Current.Dispatcher.Invoke((Action)(delegate
                     {
                         LstLiberacion.Add(new cLiberacionBiometrica()
                         {
                             Ingreso = i,
                             Imputado = i.IMPUTADO,
                             ImagenEgreso = null,
                         });
                     }));
                 }
             }
         }
         #endregion
     }
     catch (Exception ex)
     {
         StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al cargar liberación biometrica", ex);
     }
 }
Esempio n. 10
0
        public async void GenerarReporte()
        {
            var datosReporte = new List <cReporteDatos>();
            var lPoblacion   = new List <cPoblacionInternos>();
            var centro       = new cCentro().Obtener(GlobalVar.gCentro).FirstOrDefault();
            var usuario      = new cUsuario().ObtenerUsuario(GlobalVar.gUsr);


            await StaticSourcesViewModel.CargarDatosMetodoAsync(() =>
            {
                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    ReportViewerVisible = Visibility.Collapsed;
                }));
                datosReporte.Add(new cReporteDatos()
                {
                    Encabezado1 = Parametro.ENCABEZADO1.Trim(),
                    Encabezado2 = Parametro.ENCABEZADO2.Trim(),
                    Encabezado3 = Parametro.ENCABEZADO3.Trim(),
                    Titulo      = "RELACIÓN DE INTERNOS",
                    Logo1       = Parametro.REPORTE_LOGO1,
                    Logo2       = Parametro.REPORTE_LOGO2,
                    Centro      = centro.DESCR.Trim().ToUpper(),
                });


                lPoblacion = new cIngreso().
                             ObtenerIngresosActivos(GlobalVar.gCentro, null, null, true).
                             ToList().
                             Select(s => new cPoblacionInternos()
                {
                    ClasificacionJuridica = s.CLASIFICACION_JURIDICA != null ? (!string.IsNullOrEmpty(s.CLASIFICACION_JURIDICA.DESCR) ? s.CLASIFICACION_JURIDICA.DESCR.TrimEnd() : string.Empty) : string.Empty,
                    Fuero       = s.CAUSA_PENAL.Where(w => w.ID_ESTATUS_CP == Parametro.ID_CAUSA_PENAL_ACTIVA).FirstOrDefault() != null ? ObtenerFuero(s.CAUSA_PENAL.Where(w => w.ID_ESTATUS_CP == Parametro.ID_CAUSA_PENAL_ACTIVA).FirstOrDefault().CP_FUERO.TrimEnd()) : "SIN FUERO",
                    Genero      = s.IMPUTADO.SEXO == FEMENINO ? "FEMENINO" : "MASCULINO",
                    Id_Anio     = s.ID_ANIO,
                    Id_Centro   = (int)s.ID_UB_CENTRO,
                    Id_Imputado = s.ID_IMPUTADO
                }).
                             ToList();
                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    ReportViewerVisible = Visibility.Visible;
                }));
            });


            #region Reporte
            Reporte.LocalReport.ReportPath = "Reportes/rPoblacionInternos.rdlc";
            Reporte.LocalReport.DataSources.Clear();

            ReportDataSource ReportDataSource_Encabezado = new ReportDataSource();
            ReportDataSource_Encabezado.Name  = "DataSet1";
            ReportDataSource_Encabezado.Value = datosReporte;

            ReportDataSource ReportDataSource = new ReportDataSource();
            ReportDataSource.Name  = "DataSet2";
            ReportDataSource.Value = lPoblacion;
            Console.WriteLine(lPoblacion.Where(w => w.Genero == "MASCULINO"));

            Reporte.LocalReport.DataSources.Add(ReportDataSource);
            Reporte.LocalReport.DataSources.Add(ReportDataSource_Encabezado);
            #endregion

            #region Parametro
            Reporte.LocalReport.SetParameters(new ReportParameter(("Usuario"), ObtenerNombreUsuario(usuario)));
            Reporte.LocalReport.SetParameters(new ReportParameter(("Fecha"), string.Format("{0} DE {1} DE {2}", Fechas.GetFechaDateServer.Day, ((eMesesAnio)Fechas.GetFechaDateServer.Month).ToString(), Fechas.GetFechaDateServer.Year)));
            Reporte.LocalReport.SetParameters(new ReportParameter(("Centro"), centro.DESCR.Trim().ToUpper()));
            Reporte.LocalReport.SetParameters(new ReportParameter(("ComandanteEstatal"), Parametro.COMANDANTE_ESTATAL_CENTROS));
            #endregion

            Reporte.Refresh();
            Reporte.RefreshReport();
        }
        private void GenerarReporte()
        {
            try
            {
                switch (OrdenarPor)
                {
                case 1:    //DELITO COMUN
                    var mes = 12;
                    //var mes = Fechas.GetFechaDateServer.Month;
                    //NOTA: ANIO TEMPORALMENTE FIJO SOLO PARA PRUEBAS DEBIDO A QUE NO HAY REGISTROS PARA EL ANIO 2016
                    //DESCOMENTAR MAS ADELANTE
                    var anio = 2015;    //Fechas.GetFechaDateServer.Year;
                    //var lista_internos_mes = internos_lista.Where(w => w.FEC_INGRESO_CERESO.Value.Month == mes).ToList();
                    var datosReporte = new List <cReporteDatos>();
                    // List<string> termsList = new List<string>();
                    datosReporte.Add(new cReporteDatos()
                    {
                        Encabezado1 = Parametro.ENCABEZADO1,
                        Encabezado2 = Parametro.ENCABEZADO2,
                        Encabezado3 = Parametro.ENCABEZADO3,
                        Logo1       = Parametro.REPORTE_LOGO1,
                        Logo2       = Parametro.REPORTE_LOGO2,
                        Titulo      = "Población por delito común"
                    });
                    var lst_internos_causa_penal_delito = new cCausaPenalDelito().ObtenerTodos().ToList();
                    var internos_lista = new cIngreso().ObtenerIngresosActivos(GlobalVar.gCentro).Where(w => w.FEC_INGRESO_CERESO.Value.Month == mes && w.FEC_INGRESO_CERESO.Value.Year == anio).ToList();
                    int x       = 0;
                    var lst_imp = new List <cPoblacionDelitoComun>();

                    foreach (var item in lst_internos_causa_penal_delito)
                    {
                        var interno = internos_lista.Where(w => w.ID_CENTRO == item.ID_CENTRO && w.ID_ANIO == item.ID_ANIO && w.ID_IMPUTADO == item.ID_IMPUTADO && w.ID_INGRESO == w.ID_INGRESO).FirstOrDefault();
                        if (interno != null)
                        {
                            if (item.CAUSA_PENAL.ID_ESTATUS_CP.Value == 1 && item.ID_FUERO == "C")
                            {
                                var obj = new cPoblacionDelitoComun();
                                obj.DelitoComun  = item.MODALIDAD_DELITO.DELITO.DESCR;
                                obj.Sexo         = item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO;
                                obj.Indiciados   = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" ? 1 : 0;
                                obj.Procesados   = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "2" ? 1 : 0;
                                obj.Sentenciados = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "3" ? 1 : 0;

                                lst_imp.Add(obj);
                            }
                        }
                    }
                    var results = lst_imp.GroupBy(n => n.DelitoComun).
                                  Select(group =>
                                         new
                    {
                        DelitoComun = group.Key,
                        Sexo        = group.ToList(),
                    });

                    var lst_imp2 = new List <cPoblacionDelitoComun>();

                    foreach (var row in results)
                    {
                        var obj = new cPoblacionDelitoComun();
                        obj.DelitoComun = row.DelitoComun;
                        foreach (var item in row.Sexo)
                        {
                            obj.Sexo          = item.Sexo == "M" ? "MASCULINO" : item.Sexo == "F" ? "FEMENINO" : string.Empty;
                            obj.Indiciados   += item.Indiciados;
                            obj.Procesados   += item.Procesados;
                            obj.Sentenciados += item.Sentenciados;
                        }
                        lst_imp2.Add(obj);
                    }
                    Reporte.LocalReport.ReportPath = "../../Reportes/rPoblacionPorDelitoComun.rdlc";
                    Reporte.LocalReport.DataSources.Clear();

                    ReportDataSource rds1 = new ReportDataSource();
                    rds1.Name  = "DataSet1";
                    rds1.Value = datosReporte;
                    Reporte.LocalReport.DataSources.Add(rds1);

                    ReportDataSource rds2 = new ReportDataSource();
                    rds2.Name  = "DataSet2";
                    rds2.Value = lst_imp2;
                    Reporte.LocalReport.DataSources.Add(rds2);

                    Application.Current.Dispatcher.Invoke((Action)(delegate
                    {
                        Reporte.Refresh();
                        Reporte.RefreshReport();
                    }));
                    break;

                case 2:    //DELITO FEDERAL
                    var mes2 = 12;
                    //var mes2 = Fechas.GetFechaDateServer.Month;
                    //NOTA: ANIO TEMPORALMENTE FIJO SOLO PARA PRUEBAS DEBIDO A QUE NO HAY REGISTROS PARA EL ANIO 2016
                    //DESCOMENTAR MAS ADELANTE
                    var anio2 = 2015;    //Fechas.GetFechaDateServer.Year;

                    //var lista_internos_mes = internos_lista.Where(w => w.FEC_INGRESO_CERESO.Value.Month == mes).ToList();
                    var datosReporte2 = new List <cReporteDatos>();
                    // List<string> termsList = new List<string>();
                    datosReporte2.Add(new cReporteDatos()
                    {
                        Encabezado1 = Parametro.ENCABEZADO1,
                        Encabezado2 = Parametro.ENCABEZADO2,
                        Encabezado3 = Parametro.ENCABEZADO3,
                        Logo1       = Parametro.REPORTE_LOGO1,
                        Logo2       = Parametro.REPORTE_LOGO2,
                        Titulo      = "Población por delito federal"
                    });
                    var lst_internos_causa_penal_delito2 = new cCausaPenalDelito().ObtenerTodos().ToList();
                    var internos_lista2 = new cIngreso().ObtenerIngresosActivos(GlobalVar.gCentro).Where(w => w.FEC_INGRESO_CERESO.Value.Month == mes2 && w.FEC_INGRESO_CERESO.Value.Year == anio2).ToList();
                    var lst_imp3        = new List <cPoblacionDelitoFeferal>();

                    foreach (var item in lst_internos_causa_penal_delito2)
                    {
                        var interno = internos_lista2.Where(w => w.ID_CENTRO == item.ID_CENTRO && w.ID_ANIO == item.ID_ANIO && w.ID_IMPUTADO == item.ID_IMPUTADO && w.ID_INGRESO == w.ID_INGRESO).FirstOrDefault();
                        if (interno != null)
                        {
                            if (item.CAUSA_PENAL.ID_ESTATUS_CP.Value == 1 && item.ID_FUERO == "F")
                            {
                                var obj = new cPoblacionDelitoFeferal();
                                obj.DelitoFederal = item.MODALIDAD_DELITO.DELITO.DESCR;
                                obj.Sexo          = item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO;
                                obj.Indiciados    = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" ? 1 : 0;
                                obj.Procesados    = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "2" ? 1 : 0;
                                obj.Sentenciados  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "3" ? 1 : 0;

                                lst_imp3.Add(obj);
                            }
                        }
                    }
                    var results2 = lst_imp3.GroupBy(n => n.DelitoFederal).
                                   Select(group =>
                                          new
                    {
                        DelitoFederal = group.Key,
                        Sexo          = group.ToList(),
                    });

                    var lst_imp4 = new List <cPoblacionDelitoFeferal>();

                    foreach (var row in results2)
                    {
                        var obj = new cPoblacionDelitoFeferal();
                        obj.DelitoFederal = row.DelitoFederal;
                        foreach (var item in row.Sexo)
                        {
                            obj.Sexo          = item.Sexo == "M" ? "MASCULINO" : item.Sexo == "F" ? "FEMENINO" : string.Empty;
                            obj.Indiciados   += item.Indiciados;
                            obj.Procesados   += item.Procesados;
                            obj.Sentenciados += item.Sentenciados;
                        }
                        lst_imp4.Add(obj);
                    }
                    Reporte.LocalReport.ReportPath = "../../Reportes/rPoblacionDelitoFederal.rdlc";
                    Reporte.LocalReport.DataSources.Clear();

                    ReportDataSource rds12 = new ReportDataSource();
                    rds12.Name  = "DataSet1";
                    rds12.Value = datosReporte2;
                    Reporte.LocalReport.DataSources.Add(rds12);

                    ReportDataSource rds22 = new ReportDataSource();
                    rds22.Name  = "DataSet2";
                    rds22.Value = lst_imp4;
                    Reporte.LocalReport.DataSources.Add(rds22);

                    Application.Current.Dispatcher.Invoke((Action)(delegate
                    {
                        Reporte.Refresh();
                        Reporte.RefreshReport();
                    }));
                    break;
                }
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al generar reporte.", ex);
            }
        }
        public void GenerarReporte()
        {
            try
            {
                var edificio = SelectedEdificio.ID_EDIFICIO != TODOS_LOS_EDIFICIOS ? SelectedEdificio.ID_EDIFICIO : (short?)0;
                var sector   = SelectedEdificio.ID_EDIFICIO != TODOS_LOS_EDIFICIOS ? (SelectedSector.ID_SECTOR != TODOS_LOS_SECTORES ? SelectedSector.ID_SECTOR : (short?)0) : (short?)0;

                var centro       = new cCentro().Obtener(GlobalVar.gCentro).FirstOrDefault();
                var datosReporte = new List <cReporteDatos>();
                datosReporte.Add(new cReporteDatos()
                {
                    Encabezado1 = Parametro.ENCABEZADO1.Trim(),
                    Encabezado2 = Parametro.ENCABEZADO2.Trim(),
                    Encabezado3 = Parametro.ENCABEZADO3.Trim(),
                    Titulo      = "RELACIÓN DE INTERNOS",
                    Logo1       = Parametro.REPORTE_LOGO1,
                    Logo2       = Parametro.REPORTE_LOGO2,
                    Centro      = centro.DESCR.Trim().ToUpper(),
                });

                var lstSJ   = new List <cSituacionJuridicaIngreso>();
                var reporte = new cIngreso().ReporteSituacionJuridica(GlobalVar.gCentro);
                if (reporte != null)
                {
                    foreach (var w in reporte)
                    {
                        lstSJ.Add(new cSituacionJuridicaIngreso()
                        {
                            Id_Anio            = (short)w.ID_ANIO,
                            Id_Imputado        = w.ID_IMPUTADO,
                            Nombre             = w.NOMBRE,
                            Paterno            = w.PATERNO,
                            Materno            = w.MATERNO,
                            Situacion_Juridica = w.CLASIFICACION_JURIDICA,
                            Alias = ObtenerAliasApodo(w.ALIAS, w.APODOS)
                        });
                        #region comentado
                        //cSituacionJuridicaIngreso()
                        //{
                        //    Id_Anio = s.ID_ANIO,
                        //    Id_Imputado = s.ID_IMPUTADO,
                        //    Nombre = !string.IsNullOrEmpty(s.IMPUTADO.NOMBRE) ? s.IMPUTADO.NOMBRE.TrimEnd() : string.Empty,
                        //    Paterno = !string.IsNullOrEmpty(s.IMPUTADO.PATERNO) ? s.IMPUTADO.PATERNO.TrimEnd() : string.Empty,
                        //    Materno = !string.IsNullOrEmpty(s.IMPUTADO.MATERNO) ? s.IMPUTADO.MATERNO.TrimEnd() : string.Empty,
                        //    Situacion_Juridica = s.CLASIFICACION_JURIDICA != null ? s.CLASIFICACION_JURIDICA.DESCR.TrimEnd() : string.Empty,
                        //    Alias = ObtenerAliasApodo(s)
                        //}
                        #endregion
                    }
                }

                List <CELDA> lEstancia = new cCelda().ObtenerCeldas(
                    GlobalVar.gCentro,
                    edificio,
                    sector).
                                         AsEnumerable().
                                         Where(w =>
                                               w.CAMA.Count > 0).
                                         ToList();
                #region comentado
                //List<cSituacionJuridicaIngreso> lSituacionJuridica = new cIngreso().
                //    ObtenerIngresosEstancias(lEstancia).
                //    AsEnumerable().
                //    Select(s => new cSituacionJuridicaIngreso()
                //    {
                //        Id_Anio = s.ID_ANIO,
                //        Id_Imputado = s.ID_IMPUTADO,
                //        Nombre = !string.IsNullOrEmpty(s.IMPUTADO.NOMBRE) ? s.IMPUTADO.NOMBRE.TrimEnd() : string.Empty,
                //        Paterno = !string.IsNullOrEmpty(s.IMPUTADO.PATERNO) ? s.IMPUTADO.PATERNO.TrimEnd() : string.Empty,
                //        Materno = !string.IsNullOrEmpty(s.IMPUTADO.MATERNO) ? s.IMPUTADO.MATERNO.TrimEnd() : string.Empty,
                //        Situacion_Juridica = s.CLASIFICACION_JURIDICA != null ? s.CLASIFICACION_JURIDICA.DESCR.TrimEnd() : string.Empty,
                //        Alias = ObtenerAliasApodo(s),
                //        //Alias = string.Format("{0}\n", ObtenerAlias(s)),
                //        //Apodos = string.Format("{0}\n", ObtenerApodos(s)),
                //        //TieneAlias = !string.IsNullOrEmpty(ObtenerAlias(s)),
                //        //TieneApodos = !string.IsNullOrEmpty(ObtenerApodos(s))

                //    }).
                //    ToList();
                #endregion
                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    Reporte.LocalReport.ReportPath = "Reportes/rSituacionJuridica.rdlc";
                    Reporte.LocalReport.DataSources.Clear();

                    ReportDataSource ReportDataSource = new ReportDataSource();
                    ReportDataSource.Name = "DataSet1";
                    ReportDataSource.Value = lstSJ;

                    ReportDataSource ReportDataSource_Encabezado = new ReportDataSource();
                    ReportDataSource_Encabezado.Name = "DataSet2";
                    ReportDataSource_Encabezado.Value = datosReporte;

                    Reporte.LocalReport.DataSources.Add(ReportDataSource);
                    Reporte.LocalReport.DataSources.Add(ReportDataSource_Encabezado);

                    Reporte.Refresh();
                    Reporte.RefreshReport();
                }));
            }
            catch (Exception ex)
            {
                throw new ApplicationException(ex.Message);
            }
        }
        public async void GenerarReporte()
        {
            var lReosPeligrosos = new List <cReosPeligrosos>();
            await StaticSourcesViewModel.CargarDatosMetodoAsync(() =>
            {
                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    ReportViewerVisible = Visibility.Collapsed;
                }));
                if (TodosLosReos)
                {
                    lReosPeligrosos = new cIngreso().
                                      ObtenerIngresosAltaSeguridad(
                        GlobalVar.gCentro).
                                      AsEnumerable().
                                      Select(s => new cReosPeligrosos()
                    {
                        Activo = ObtenerEstatusIngreso(s),
                        Cereso = s.CENTRO.DESCR.TrimEnd(),
                        ClasificacionJuridica = s.CLASIFICACION_JURIDICA != null ? !string.IsNullOrEmpty(s.CLASIFICACION_JURIDICA.DESCR) ? s.CLASIFICACION_JURIDICA.DESCR.TrimEnd() : string.Empty : string.Empty,
                        Delito       = string.Empty,
                        FechaIngreso = s.FEC_INGRESO_CERESO.Value,
                        Id_Anio      = s.ID_ANIO,
                        Id_Imputado  = s.ID_IMPUTADO,
                        Id_Ingreso   = s.ID_INGRESO,
                        Paterno      = !string.IsNullOrEmpty(s.IMPUTADO.PATERNO) ? s.IMPUTADO.PATERNO.TrimEnd() : string.Empty,
                        Materno      = !string.IsNullOrEmpty(s.IMPUTADO.MATERNO) ? s.IMPUTADO.MATERNO.TrimEnd() : string.Empty,
                        Nombre       = !string.IsNullOrEmpty(s.IMPUTADO.NOMBRE) ? s.IMPUTADO.NOMBRE.TrimEnd() : string.Empty,
                    }).ToList();
                }
                else
                {
                    lReosPeligrosos = new cIngreso().
                                      ObtenerIngresosAltaSeguridad(
                        GlobalVar.gCentro).
                                      Where(w =>
                                            w.FEC_INGRESO_CERESO.HasValue &&
                                            (w.FEC_INGRESO_CERESO.Value >= SelectedFechaInicial.Date &&
                                             w.FEC_INGRESO_CERESO.Value <= SelectedFechaFinal.Date)).
                                      AsEnumerable().
                                      Select(s => new cReosPeligrosos()
                    {
                        Activo = ObtenerEstatusIngreso(s),
                        Cereso = s.CENTRO.DESCR.TrimEnd(),
                        ClasificacionJuridica = s.CLASIFICACION_JURIDICA != null ? !string.IsNullOrEmpty(s.CLASIFICACION_JURIDICA.DESCR) ? s.CLASIFICACION_JURIDICA.DESCR.TrimEnd() : string.Empty : string.Empty,
                        Delito       = s.INGRESO_DELITO.DESCR,
                        FechaIngreso = s.FEC_INGRESO_CERESO.Value,
                        Id_Anio      = s.ID_ANIO,
                        Id_Imputado  = s.ID_IMPUTADO,
                        Id_Ingreso   = s.ID_INGRESO,
                        Paterno      = !string.IsNullOrEmpty(s.IMPUTADO.PATERNO) ? s.IMPUTADO.PATERNO.TrimEnd() : string.Empty,
                        Materno      = !string.IsNullOrEmpty(s.IMPUTADO.MATERNO) ? s.IMPUTADO.MATERNO.TrimEnd() : string.Empty,
                        Nombre       = !string.IsNullOrEmpty(s.IMPUTADO.NOMBRE) ? s.IMPUTADO.NOMBRE.TrimEnd() : string.Empty,
                    }).ToList();
                }
                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    ReportViewerVisible = Visibility.Visible;
                }));
            });

            Reporte.LocalReport.ReportPath = "Reportes/rReosPeligrosos.rdlc";
            Reporte.LocalReport.DataSources.Clear();

            ReportDataSource ReportDataSource = new ReportDataSource();

            ReportDataSource.Name  = "DataSet1";
            ReportDataSource.Value = lReosPeligrosos;

            Reporte.LocalReport.DataSources.Add(ReportDataSource);


            Reporte.Refresh();
            Reporte.RefreshReport();
        }
Esempio n. 14
0
        private void GenerarReporte()
        {
            try
            {
                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    Reporte.Reset();
                    Repositorio.Visibility = Visibility.Collapsed;
                }));
                var centro       = new cCentro().Obtener(GlobalVar.gCentro).FirstOrDefault();
                var datosReporte = new List <cReporteDatos>();
                datosReporte.Add(new cReporteDatos()
                {
                    Encabezado1 = Parametro.ENCABEZADO1,
                    Encabezado2 = Parametro.ENCABEZADO2,
                    Centro      = centro.DESCR.Trim(),
                    Titulo      = string.Format("{0} DEL {1} AL {2}", Altas ? "ALTAS" : "BAJAS", FechaInicio.Value.ToString("dd/MM/yyyy"), FechaFin.Value.ToString("dd/MM/yyyy")),
                    Logo1       = Parametro.REPORTE_LOGO1,
                    Logo2       = Parametro.REPORTE_LOGO2
                });

                //Obtenemos el listado de personas
                var lista = new cIngreso().ObtenerAltasBajas(FechaInicio, FechaFin, Altas ? 1 : 2).Select(w => new cReporteAltasBajas()
                {
                    Id_Anio     = w.ID_ANIO,
                    Id_Imputado = w.ID_IMPUTADO,
                    Id_Ingreso  = w.ID_INGRESO,
                    Edificio    = w.CAMA.CELDA.SECTOR.EDIFICIO.DESCR,
                    Sector      = w.CAMA.CELDA.SECTOR.DESCR,
                    Id_Celda    = w.CAMA.CELDA.ID_CELDA,
                    Id_Cama     = w.ID_UB_CAMA,
                    Nombre      = w.IMPUTADO.NOMBRE,
                    Paterno     = w.IMPUTADO.PATERNO,
                    Materno     = w.IMPUTADO.MATERNO,
                    Anio_Gob    = w.ANIO_GOBIERNO.HasValue ? w.ANIO_GOBIERNO.Value : 0,
                    Folio_Gob   = w.FOLIO_GOBIERNO,
                    Fecha       = Altas ? w.FEC_INGRESO_CERESO.Value : w.FEC_SALIDA_CERESO.Value
                });

                Reporte.LocalReport.ReportPath = "Reportes/rAltasBajas.rdlc";
                Reporte.LocalReport.DataSources.Clear();

                ReportDataSource rds1 = new ReportDataSource();
                rds1.Name  = "DataSet3";
                rds1.Value = datosReporte;
                Reporte.LocalReport.DataSources.Add(rds1);

                ReportDataSource rds2 = new ReportDataSource();
                rds2.Name  = "DataSet1";
                rds2.Value = lista;
                Reporte.LocalReport.DataSources.Add(rds2);

                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    Reporte.RefreshReport();
                    Repositorio.Visibility = Visibility.Visible;
                }));
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al generar reporte.", ex);
            }
        }
        private void GenerarReporte()
        {
            try
            {
                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    Repositorio.Visibility = Visibility.Collapsed;
                }));
                var centro = new cCentro().Obtener(GlobalVar.gCentro).FirstOrDefault();

                var datosReporte = new List <cReporteDatos>();
                datosReporte.Add(new cReporteDatos()
                {
                    Encabezado1 = Parametro.ENCABEZADO1.Trim(),
                    Encabezado2 = Parametro.ENCABEZADO2.Trim(),
                    Encabezado3 = centro.DESCR.Trim().ToUpper(),
                    Titulo      = "RELACIÓN DE INTERNOS",
                    Logo1       = Parametro.REPORTE_LOGO1,
                    Logo2       = Parametro.REPORTE_LOGO2,
                    //Centro = centro.DESCR.Trim().ToUpper(),
                });

                var hoy = Fechas.GetFechaDateServer.Date;

                var lstInternos = new List <cReporteRelacionInternosDetalle>();
                var lista       = new cIngreso().ReporteRelacionInterno(GlobalVar.gCentro, OrdenarPor);
                if (lista != null)
                {
                    foreach (var w in lista)
                    {
                        lstInternos.Add(new cReporteRelacionInternosDetalle()
                        {
                            Hoy           = hoy,
                            Anio          = w.ID_ANIO,
                            Imputado      = w.ID_IMPUTADO,
                            Nombre        = w.NOMBRE,
                            Paterno       = w.PATERNO,
                            Materno       = w.MATERNO,
                            FecNacimiento = IncluirEdad ? w.NACIMIENTO_FECHA : null,
                            Fuero         = string.IsNullOrEmpty(w.FUERO) ? (w.FUERO == "C" ? "COMUN" : w.FUERO == "F" ? "FEDERAL" : "DESCONOCIDO") : "DESCONOCIDO",
                            Clasificacion = w.CLASIFICACION_JURIDICA,
                            Ubicacion     = string.Format("{0}-{1}-{2}-{3}",
                                                          !string.IsNullOrEmpty(w.EDIFICIO) ? w.EDIFICIO.Trim() : string.Empty,
                                                          !string.IsNullOrEmpty(w.SECTOR) ? w.SECTOR.Trim() : string.Empty,
                                                          !string.IsNullOrEmpty(w.CELDA) ? w.CELDA.Trim() : string.Empty,
                                                          w.CAMA),
                            Foto = IncluirFoto ? (w.FOTO != null ? w.FOTO : new Imagenes().getImagenPerson()) : null,
                        });
                    }
                }

                #region comentado
                //var ingresos = new cIngreso().ObtenerIngresosActivos(GlobalVar.gCentro).Where(w => w.CAMA != null);//.Where(w => w.ID_UB_CENTRO > 0 && w.ID_UB_SECTOR > 0 && !string.IsNullOrEmpty(w.ID_UB_CELDA) && w.ID_UB_CAMA > 0 && w.CAMA != null);
                //if (ingresos != null)
                //{
                //    switch (OrdenarPor)
                //    {
                //        case 1://expediente
                //            ingresos = ingresos.OrderBy(w => new { w.ID_ANIO, w.ID_IMPUTADO });
                //            break;
                //        case 2://nombre
                //            ingresos = ingresos.OrderBy(w => new { w.IMPUTADO.NOMBRE, w.IMPUTADO.PATERNO, w.IMPUTADO.MATERNO });
                //            break;
                //        case 3://Fecha de ingreso
                //            ingresos = ingresos.OrderBy(w => w.FEC_INGRESO_CERESO);
                //            break;
                //        case 4://Ubicacion
                //            ingresos = ingresos.OrderBy(w => new { w.ID_UB_CENTRO, w.ID_UB_EDIFICIO, w.ID_UB_SECTOR, w.ID_UB_CELDA, w.ID_UB_CAMA });
                //            break;
                //        case 5://Autoridad que interna
                //            ingresos = ingresos.OrderBy(w => w.ID_AUTORIDAD_INTERNA);
                //            break;
                //        case 6://Clasificacion juridica
                //            ingresos = ingresos.OrderBy(w => w.ID_CLASIFICACION_JURIDICA);
                //            break;
                //    }

                //var lstInternos = ingresos.Select(w => new cReporteRelacionInternosDetalle()
                //{
                //    Hoy = hoy,
                //    Anio = w.ID_ANIO,
                //    Imputado = w.ID_IMPUTADO,
                //    Nombre = w.IMPUTADO.NOMBRE,
                //    Paterno = w.IMPUTADO.PATERNO,
                //    Materno = w.IMPUTADO.MATERNO,
                //    FecNacimiento = IncluirEdad ? w.IMPUTADO.NACIMIENTO_FECHA : null,
                //    CP = w.CAUSA_PENAL.FirstOrDefault(x => x.ID_ESTATUS_CP == 1),
                //    Clasificacion = w.ID_CLASIFICACION_JURIDICA,
                //    UEdificio = w.CAMA.CELDA.SECTOR.EDIFICIO.DESCR,
                //    //USector = w.CAMA.CELDA.SECTOR.DESCR,
                //    //UCelda = w.CAMA.CELDA.ID_CELDA,
                //    //UCama = w.CAMA.ID_CAMA,
                //    IB = IncluirFoto ? w.INGRESO_BIOMETRICO.FirstOrDefault(x => x.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_SEGUIMIENTO && x.ID_FORMATO == (short)enumTipoFormato.FMTO_JPG) : null,
                //}).ToList();



                //if (ingresos != null)
                //{
                ////byte[] foto;
                ////INGRESO_BIOMETRICO biometrico;
                //foreach (var w in ingresos)
                //{
                //    //if(IncluirFoto)
                //    //{
                //    //    if (w.INGRESO_BIOMETRICO != null)
                //    //    {
                //    //        biometrico = w.INGRESO_BIOMETRICO.FirstOrDefault(x => x.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_SEGUIMIENTO && x.ID_FORMATO == (short)enumTipoFormato.FMTO_JPG);
                //    //    }
                //    //    else
                //    //        biometrico = null;
                //    //}
                //    //else
                //    //{
                //    //    biometrico = null;
                //    //}
                //    lstInternos.Add(new cReporteRelacionInternosDetalle()
                //    {
                //        Hoy = hoy,
                //        Anio = w.ID_ANIO,
                //        Imputado = w.ID_IMPUTADO,
                //        Nombre = w.IMPUTADO.NOMBRE,
                //        Paterno = w.IMPUTADO.PATERNO,
                //        Materno = w.IMPUTADO.MATERNO,
                //        FecNacimiento = IncluirEdad ? w.IMPUTADO.NACIMIENTO_FECHA : null,
                //        CP = w.CAUSA_PENAL.FirstOrDefault(x => x.ID_ESTATUS_CP == 1),
                //        Clasificacion = w.ID_CLASIFICACION_JURIDICA,
                //        //UEdificio = w.CAMA.CELDA.SECTOR.EDIFICIO.DESCR,
                //        //USector = w.CAMA.CELDA.SECTOR.DESCR,
                //        //UCelda = w.CAMA.CELDA.ID_CELDA,
                //        //UCama = w.CAMA.ID_CAMA,
                //        Ubicacion = string.Format("{0}-{1}-{2}-{3}",
                //                     w.CAMA.CELDA.SECTOR.EDIFICIO.DESCR.Trim(),
                //                     w.CAMA.CELDA.SECTOR.DESCR.Trim(),
                //                     w.CAMA.CELDA.ID_CELDA.Trim(),
                //                     w.CAMA.ID_CAMA),
                //        IB = IncluirFoto ? w.INGRESO_BIOMETRICO != null ? w.INGRESO_BIOMETRICO.FirstOrDefault(x => x.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_SEGUIMIENTO && x.ID_FORMATO == (short)enumTipoFormato.FMTO_JPG) : null : null
                //    });
                //}
                //}
                #endregion

                #region Reporte
                Reporte.LocalReport.ReportPath = "Reportes/rRelacionInternosDetalle.rdlc";
                Reporte.LocalReport.DataSources.Clear();

                Microsoft.Reporting.WinForms.ReportDataSource rds1 = new Microsoft.Reporting.WinForms.ReportDataSource();
                rds1.Name  = "DataSet1";
                rds1.Value = datosReporte;
                Reporte.LocalReport.DataSources.Add(rds1);

                Microsoft.Reporting.WinForms.ReportDataSource rds2 = new Microsoft.Reporting.WinForms.ReportDataSource();
                rds2.Name  = "DataSet2";
                rds2.Value = lstInternos;
                Reporte.LocalReport.DataSources.Add(rds2);

                #region Parametros
                Reporte.LocalReport.SetParameters(new Microsoft.Reporting.WinForms.ReportParameter("MostrarEdad", IncluirEdad ? "N" : "S"));
                Reporte.LocalReport.SetParameters(new Microsoft.Reporting.WinForms.ReportParameter("MostrarFoto", IncluirFoto ? "N" : "S"));
                #endregion
                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    Reporte.RefreshReport();
                }));
                #endregion
                //}
            }
            catch (Exception ex)
            {
                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    Repositorio.Visibility = Visibility.Collapsed;
                }));
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al generar reporte", ex);
            }

            Application.Current.Dispatcher.Invoke((Action)(delegate
            {
                Repositorio.Visibility = Visibility.Visible;
            }));
        }
        public async void GenerarReporte()
        {
            var datosReporte = new List <cReporteDatos>();
            var lIngreso     = new List <cTotalIngreso>();
            await StaticSourcesViewModel.CargarDatosMetodoAsync(() =>
            {
                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    ReportViewerVisible = Visibility.Collapsed;
                }));
                try
                {
                    var centro = new cCentro().Obtener(GlobalVar.gCentro).FirstOrDefault();

                    datosReporte.Add(new cReporteDatos()
                    {
                        Encabezado1 = Parametro.ENCABEZADO1.Trim(),
                        Encabezado2 = Parametro.ENCABEZADO2.Trim(),
                        Encabezado3 = Parametro.ENCABEZADO3.Trim(),
                        Titulo      = "RELACIÓN DE INGRESOS",
                        Logo1       = Parametro.REPORTE_LOGO1,
                        Logo2       = Parametro.REPORTE_LOGO2,
                        Centro      = centro.DESCR.Trim().ToUpper(),
                    });

                    lIngreso = new cIngreso().ObtenerIngresosActivosPorFecha(GlobalVar.gCentro, SelectedFechaInicial, SelectedFechaFinal).
                               AsEnumerable().
                               Select(s => new cTotalIngreso()
                    {
                        Nacionalidad = s.PAIS_NACIONALIDAD != null ?
                                       (!string.IsNullOrEmpty(s.PAIS_NACIONALIDAD.NACIONALIDAD) ? (s.PAIS_NACIONALIDAD.NACIONALIDAD.TrimEnd() != "MEXICANA" ? "EXTRANJEROS" : "MEXICANOS") : "INDEFINIDO") : "INDEFINIDO",
                        Sexo = !string.IsNullOrEmpty(s.IMPUTADO.SEXO) ? (s.IMPUTADO.SEXO == FEMENINO ? "FEMENINO" : "MASCULINO") : "INDEFINIDO"
                    }).ToList();
                }
                catch (Exception ex)
                {
                    throw new ApplicationException(ex.Message);
                }

                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    ReportViewerVisible = Visibility.Visible;
                }));
            });

            Reporte.LocalReport.ReportPath = "Reportes/rTotalIngresos.rdlc";
            Reporte.LocalReport.DataSources.Clear();

            ReportDataSource ReportDataSource_Encabezado = new ReportDataSource();

            ReportDataSource_Encabezado.Name  = "DataSet1";
            ReportDataSource_Encabezado.Value = datosReporte;

            ReportDataSource ReportDataSource_TotalIngresos = new ReportDataSource();

            ReportDataSource_TotalIngresos.Name  = "DataSet2";
            ReportDataSource_TotalIngresos.Value = lIngreso;

            Reporte.LocalReport.DataSources.Add(ReportDataSource_Encabezado);
            Reporte.LocalReport.DataSources.Add(ReportDataSource_TotalIngresos);

            Reporte.LocalReport.SetParameters(new ReportParameter("FechaInicial", string.Format("{0}/{1}/{2}", SelectedFechaInicial.Day, SelectedFechaInicial.Month, SelectedFechaInicial.Year)));
            Reporte.LocalReport.SetParameters(new ReportParameter("FechaFinal", string.Format("{0}/{1}/{2}", SelectedFechaFinal.Day, SelectedFechaFinal.Month, SelectedFechaFinal.Year)));

            Reporte.Refresh();
            Reporte.RefreshReport();
        }
        //PLANIMETRIA REPORTES
        private void ImprimirReporte()
        {
            try
            {
                if (SelectedSector != null)
                {
                    var centro       = new cCentro().Obtener(GlobalVar.gCentro).FirstOrDefault();
                    var reporteDatos = new List <cReporteDatos>();
                    reporteDatos.Add(new cReporteDatos()
                    {
                        Encabezado1 = Parametro.ENCABEZADO1,
                        Encabezado2 = Parametro.ENCABEZADO2,
                        Titulo      = "PLANIMETRIA",
                        Logo1       = Parametro.REPORTE_LOGO1,
                        Logo2       = Parametro.REPORTE_LOGO2,
                        Centro      = centro.DESCR.Trim()
                    });

                    var reporte  = new List <cImputadoPlanimetria>();
                    var internos = new cIngreso().ObtenerIngresosPorSector(SelectedSector.ID_CENTRO, SelectedSector.ID_EDIFICIO, SelectedSector.ID_SECTOR);
                    if (internos != null)
                    {
                        foreach (var i in internos)
                        {
                            string paterno = i.IMPUTADO.PATERNO;
                            if (!string.IsNullOrEmpty(paterno))
                            {
                                paterno = paterno.Trim();
                            }

                            string materno = i.IMPUTADO.MATERNO;
                            if (!string.IsNullOrEmpty(materno))
                            {
                                materno = materno.Trim();
                            }

                            string nombre = i.IMPUTADO.NOMBRE;
                            if (!string.IsNullOrEmpty(nombre))
                            {
                                nombre = nombre.Trim();
                            }

                            var clasificacion = string.Empty;
                            if (i.CAMA != null)
                            {
                                if (i.CAMA.SECTOR_OBSERVACION_CELDA != null)
                                {
                                    if (i.CAMA.SECTOR_OBSERVACION_CELDA.SECTOR_OBSERVACION != null)
                                    {
                                        if (i.CAMA.SECTOR_OBSERVACION_CELDA.SECTOR_OBSERVACION.SECTOR_CLASIFICACION != null)
                                        {
                                            clasificacion = i.CAMA.SECTOR_OBSERVACION_CELDA.SECTOR_OBSERVACION.SECTOR_CLASIFICACION.POBLACION;
                                        }
                                    }
                                }
                            }
                            reporte.Add(new cImputadoPlanimetria()
                            { ///TODO: cambios en el modelo
                                //Clasificacion = i.CAMA.CELDA.SECTOR_OBSERVACION_CELDA.FirstOrDefault().SECTOR_OBSERVACION.SECTOR_CLASIFICACION.POBLACION,
                                Clasificacion = clasificacion,
                                Centro        = i.CENTRO.DESCR,
                                Anio          = i.ID_ANIO.ToString(),
                                Imputado      = i.ID_IMPUTADO.ToString(),
                                APaterno      = string.Empty,
                                AMaterno      = string.Empty,
                                Nombre        = string.Format("{0} {1} {2}", paterno, materno, nombre),
                                Estancia      = i.CAMA.CELDA.ID_CELDA,
                                Cama          = i.CAMA.ID_CAMA.ToString()
                            });
                        }

                        var view = new ReportesView();
                        PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                        view.Closed += (s, e) => { PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO); };
                        view.Owner   = PopUpsViewModels.MainWindow;
                        view.Show();

                        //ARMAMOS EL REPORTE
                        view.Report.LocalReport.ReportPath = "Reportes/rPlanimetria.rdlc";
                        view.Report.LocalReport.DataSources.Clear();

                        var generales = new List <cGeneralesPlanimetria>();
                        generales.Add(new cGeneralesPlanimetria()
                        {
                            Centro = "CERESO DE MEXICALI", Ubicacion = SelectedSector.DESCR
                        });

                        Microsoft.Reporting.WinForms.ReportDataSource rds1 = new Microsoft.Reporting.WinForms.ReportDataSource();
                        rds1.Name  = "DataSet1";
                        rds1.Value = generales;
                        view.Report.LocalReport.DataSources.Add(rds1);

                        Microsoft.Reporting.WinForms.ReportDataSource rds2 = new Microsoft.Reporting.WinForms.ReportDataSource();
                        rds2.Name  = "DataSet2";
                        rds2.Value = reporte;
                        view.Report.LocalReport.DataSources.Add(rds2);

                        Microsoft.Reporting.WinForms.ReportDataSource rds3 = new Microsoft.Reporting.WinForms.ReportDataSource();
                        rds3.Name  = "DataSet3";
                        rds3.Value = reporteDatos;
                        view.Report.LocalReport.DataSources.Add(rds3);

                        view.Report.RefreshReport();
                    }
                }
                else
                {
                    new Dialogos().ConfirmacionDialogo("Notificacion", "Favor de seleccionar un sector");
                }
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al generar reporte", ex);
            }
        }
        /// <summary>
        /// Método al cual se le delega la responsabilidad de manejar los eventos de Clic del módulo.
        /// </summary>
        /// <param name="obj">Objeto que retiene el parámetro del elemento sobre el cuál se realizó el clic.</param>
        public async void ClickSwitch(Object obj) ///===CHECK===
        {
            //Se obtiene la imagen por defecto para muestra en caso de que un interno no tenga foto
            var placeholder = new Imagenes().getImagenPerson();

            //Se evalúa el parámetro enviado para saber la acción a realizar
            switch (obj.ToString())
            {
            case "CargarTrasladoExcarcelacion":
                RefrescarVentana();
                break;

            case "ObtenerFotoImputado":
                //Si el tab seleccionado es igual a 0, entonces...
                if (IndexTab == 0)
                {
                    try
                    {
                        //Si se ha seleccionado un interno del traslado, entonces...
                        if (SelectedTrasladoDetalle != null)
                        {
                            //Se obtiene la foto de registro de frente del interno seleccionado
                            var fotoRegistro = new cIngreso().ObtenerUltimoIngreso(SelectedTrasladoDetalle.Centro, SelectedTrasladoDetalle.Anio, SelectedTrasladoDetalle.IdImputado).INGRESO_BIOMETRICO.Where(w => w.BIOMETRICO_TIPO.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_REGISTRO).FirstOrDefault();
                            //Se obtiene la foto de seguimiento de frente del interno seleccionado
                            var fotoSeguimiento = new cIngreso().ObtenerUltimoIngreso(SelectedTrasladoDetalle.Centro, SelectedTrasladoDetalle.Anio, SelectedTrasladoDetalle.IdImputado).INGRESO_BIOMETRICO.Where(w => w.BIOMETRICO_TIPO.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_SEGUIMIENTO).FirstOrDefault();
                            //La foto del interno en el traslado a mostrar se obtiene de acuerdo a alguna de las fotos obtenidas anteriormente. Si la foto de seguimiento no existe, se toma la de registro, y si ésta no existe, se muestra la imagen por defecto
                            FotoImputadoTraslado = fotoSeguimiento != null ? (fotoSeguimiento.BIOMETRICO != null ? fotoSeguimiento.BIOMETRICO : new Imagenes().getImagenPerson()) : (fotoRegistro != null ? (fotoRegistro.BIOMETRICO != null ? fotoRegistro.BIOMETRICO : new Imagenes().getImagenPerson()) : new Imagenes().getImagenPerson());
                        }
                    }
                    //Si ocurrió un error al obtener la foto del interno, entonces...
                    catch (Exception ex)
                    {
                        //Se le notifica al usuario que ocurrió un error
                        StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al cargar la foto del imputado.", ex);
                    }
                }
                //Si el tab seleccionado es diferente a 0, entonces...
                else
                {
                    //Si se ha seleccionado un interno, entonces...
                    if (SelectedIngreso != null)
                    {
                        try
                        {
                            var ingreso = new cIngreso().ObtenerUltimoIngreso(SelectedIngreso.Id_Centro, SelectedIngreso.Id_Anio, SelectedIngreso.Id_Imputado);
                            //Se obtiene la foto de registro de frente del interno seleccionado
                            var fotoRegistro = ingreso.INGRESO_BIOMETRICO.Where(w => w.BIOMETRICO_TIPO.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_REGISTRO).FirstOrDefault();
                            //Se obtiene la foto de seguimiento de frente del interno seleccionado
                            var fotoSeguimiento = ingreso.INGRESO_BIOMETRICO.Where(w => w.BIOMETRICO_TIPO.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_SEGUIMIENTO).FirstOrDefault();
                            //La foto del interno en la excarcelacion a mostrar se obtiene de acuerdo a alguna de las fotos obtenidas anteriormente. Si la foto de seguimiento no existe, se toma la de registro, y si ésta no existe, se muestra la imagen por defecto
                            FotoImputadoExcarcelacion = fotoSeguimiento != null ? (fotoSeguimiento.BIOMETRICO != null ? fotoSeguimiento.BIOMETRICO : new Imagenes().getImagenPerson()) : (fotoRegistro != null ? (fotoRegistro.BIOMETRICO != null ? fotoRegistro.BIOMETRICO : new Imagenes().getImagenPerson()) : new Imagenes().getImagenPerson());
                        }
                        //Si ocurrió un error al obtener la foto del interno, entonces...
                        catch (Exception ex)
                        {
                            //Se le notifica al usuario que ocurrió un error
                            StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al cargar la foto del imputado.", ex);
                        }
                    }
                }
                break;

            case "Huellas":
                //Si el tab seleccionado es igual a 0, entonces...
                if (IndexTab == 0)
                {
                    //Si se ha seleccionado un traslado, entonces...
                    if (SelectedTraslado != null)
                    {
                        try
                        {
                            //Se inicializa la ventana del traslado seleccionado
                            var WindowTraslado = new BusquedaHuellaTrasladoView();
                            //Se asigna el DataContext de la ventana al ViewModel de la búsqueda de huellas del traslado seleccionado
                            WindowTraslado.DataContext = new BusquedaHuellaTraslado(SelectedTraslado, WindowTraslado);
                            //Se asigna el dueño de la ventana a la ventana principal
                            WindowTraslado.Owner = PopUpsViewModels.MainWindow;
                            //Se agrega la acción de cerrar el PopUp que bloquea el módulo principal, al cerrar la ventana
                            WindowTraslado.Closed += (s, e) =>
                            {
                                RefrescarVentana();

                                PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                            };
                            //Se abre el PopUp que bloquea el módulo principal
                            PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                            //Se muestra la ventana de lectura de huellas para el traslado seleccionado
                            WindowTraslado.ShowDialog();
                        }
                        //Si ocurrió un error al inicializar o abrir la ventana de lectura de huellas sobre el traslado seleccionado, entonces...
                        catch (Exception ex)
                        {
                            //Se le notifica al usuario que ocurrió un error
                            StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al cargar los imputados del traslado.", ex);
                        }
                    }
                    //Si no se ha seleccionado un traslado, entonces...
                    else
                    {
                        //Se le notifica al usuario que debe seleccionar un traslado para poder iniciar la lectura de huellas sobre el traslado que seleccione
                        var metro      = Application.Current.Windows[0] as MetroWindow;
                        var mySettings = new MetroDialogSettings()
                        {
                            AffirmativeButtonText = "Aceptar",
                            AnimateShow           = true,
                            AnimateHide           = false
                        };
                        await metro.ShowMessageAsync("Validación", "Debe seleccionar un traslado.", MessageDialogStyle.Affirmative, mySettings);
                    }
                }
                //Si el tab seleccionado es diferente a 0, entonces...
                else
                {
                    try
                    {
                        //Se inicializa la ventana de las excarcelaciones
                        var WindowExcarcelacion = new BusquedaHuellaExcarcelacionView();
                        //Se asigna el DataContext de la ventana al ViewModel de la búsqueda de huellas de las excarcelaciones
                        WindowExcarcelacion.DataContext = new BusquedaHuellaExcarcelaciones(WindowExcarcelacion);
                        //Se asigna el dueño de la ventana a la ventana principal
                        WindowExcarcelacion.Owner = PopUpsViewModels.MainWindow;
                        //Se agrega la acción de cerrar el PopUp que bloquea el módulo principal, al cerrar la ventana
                        WindowExcarcelacion.Closed += (s, e) =>
                        {
                            RefrescarVentana();
                            PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                        };
                        //Se abre el PopUp que bloquea el módulo principal
                        PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                        //Se muestra la ventana de lectura de huellas para las excarcelaciones
                        WindowExcarcelacion.ShowDialog();
                    }
                    //Si ocurrió un error al inicializar o abrir la ventana de lectura de huellas sobre las excarcelaciones, entonces...
                    catch (Exception ex)
                    {
                        //Se le notifica al usuario que ocurrió un error
                        StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al cargar los imputados del traslado.", ex);
                    }
                }
                break;

            case "SalidaCentroUbicacion":
                //Se inicializa la ventana del control de la salida del centro (Cambio de ubicación que tienen un traslado ó excarcelación, ó vienen de fuera de una excarcelación)
                var WindowIngresarSalidaCentro = new IngresarSalidaCentro();
                //Se asigna el DataContext de la ventana al ViewModel de la búsqueda de huellas del control de la salida del centro
                WindowIngresarSalidaCentro.DataContext = new IngresarSalidaCentroViewModel();
                //Se asigna el dueño de la ventana a la ventana principal
                WindowIngresarSalidaCentro.Owner = PopUpsViewModels.MainWindow;
                //Se agrega la acción de cerrar el PopUp que bloquea el módulo principal, al cerrar la ventana
                WindowIngresarSalidaCentro.Closed += (s, e) =>
                {
                    RefrescarVentana();
                    PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                };
                //Se abre el PopUp que bloquea el módulo principal
                PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                //Se muestra la ventana de lectura de huellas para el control de la salida del centro
                WindowIngresarSalidaCentro.ShowDialog();
                break;

            case "limpiar_menu":
                //Se limpian los campos de la ventana
                SelectedTraslado              = null;
                SelectedIngreso               = null;
                SelectedTrasladoDetalle       = null;
                ListaExcarcelacionesMedicas   = new List <EXCARCELACION>();
                ListaExcarcelacionesJuridicas = new List <EXCARCELACION>();
                ListaIngresos             = new List <InternoIngresoExcarcelacion>();
                ListaDestinos             = new List <Destino>();
                ListaTraslados            = new List <TRASLADO>();
                FotoImputadoTraslado      = placeholder;
                FotoImputadoExcarcelacion = placeholder;
                break;

            case "salir_menu":
                //Salida hacia el menú principal
                PrincipalViewModel.SalirMenu();
                break;
            }
        }
        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;
            }
        }
        public void ObtenerIngresos()
        {
            short?nulo = null;

            var Ingresos = new cIngreso().ObtenerIngresosActivosFiltradosPorEdificio(GlobalVar.gCentro,
                                                                                     SelectedEdificio.ID_EDIFICIO != TODOS_LOS_EDIFICIOS ? SelectedEdificio.ID_EDIFICIO : nulo,
                                                                                     SelectedEdificio.ID_EDIFICIO != TODOS_LOS_EDIFICIOS ? (SelectedSector.ID_SECTOR != TODOS_LOS_SECTORES ? SelectedSector.ID_SECTOR : nulo) : nulo, Pagina,
                                                                                     BusquedaAvanzadaChecked && AnioBuscar.HasValue ? AnioBuscar.Value : 0,
                                                                                     BusquedaAvanzadaChecked && FolioBuscar.HasValue ? FolioBuscar.Value : 0,
                                                                                     BusquedaAvanzadaChecked && !string.IsNullOrEmpty(NombreBuscar) ? NombreBuscar : string.Empty,
                                                                                     BusquedaAvanzadaChecked && !string.IsNullOrEmpty(ApellidoPaternoBuscar) ? ApellidoPaternoBuscar : string.Empty,
                                                                                     BusquedaAvanzadaChecked && !string.IsNullOrEmpty(ApellidoMaternoBuscar) ? ApellidoMaternoBuscar : string.Empty).ToList();

            if (Ingresos.Any())
            {
                Pagina++;
                SeguirCargandoIngresos = true;
                var lista_ingresos = new List <cCredencialBiblioteca>(ListaIngresos);
                foreach (var Ingreso in Ingresos)
                {
                    var foto_ingreso = Ingreso.INGRESO_BIOMETRICO.Where(w => w.BIOMETRICO_TIPO.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_REGISTRO).FirstOrDefault();
                    var foto_centro  = Ingreso.INGRESO_BIOMETRICO.Where(w => w.BIOMETRICO_TIPO.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_SEGUIMIENTO).FirstOrDefault();
                    var cama         = new cCama().ObtenerCama((short)Ingreso.ID_UB_CENTRO, (short)Ingreso.ID_UB_EDIFICIO, (short)Ingreso.ID_UB_SECTOR, Ingreso.ID_UB_CELDA, (short)Ingreso.ID_UB_CAMA);
                    var interno      = new cCredencialBiblioteca()
                    {
                        Id_Centro     = Ingreso.ID_CENTRO,
                        Id_Anio       = Ingreso.ID_ANIO,
                        Id_Imputado   = Ingreso.ID_IMPUTADO,
                        Id_Ingreso    = Ingreso.ID_INGRESO,
                        Nombre        = !string.IsNullOrEmpty(Ingreso.IMPUTADO.NOMBRE) ? Ingreso.IMPUTADO.NOMBRE.TrimEnd() : string.Empty,
                        Paterno       = !string.IsNullOrEmpty(Ingreso.IMPUTADO.PATERNO) ? Ingreso.IMPUTADO.PATERNO.TrimEnd() : string.Empty,
                        Materno       = !string.IsNullOrEmpty(Ingreso.IMPUTADO.MATERNO) ? Ingreso.IMPUTADO.MATERNO.TrimEnd() : string.Empty,
                        CentroDescr   = Ingreso.CENTRO.DESCR.Replace("CERESO ", "").TrimStart().TrimEnd(),
                        EdificioDescr = cama.CELDA.SECTOR.EDIFICIO.DESCR.TrimEnd(),
                        SectorDescr   = cama.CELDA.SECTOR.DESCR.TrimEnd(),
                        Celda         = cama.ID_CELDA.TrimStart().TrimEnd(),
                        Foto          = foto_centro != null ? foto_centro.BIOMETRICO : (foto_ingreso != null ? foto_ingreso.BIOMETRICO : new Imagenes().getImagenPerson()),
                        CodigoBarras  = ObtenerCodigoBarras(Ingreso.IMPUTADO.NIP),
                        Seleccionado  = false,
                        FOTOCENTRO    = foto_centro != null ? foto_centro.BIOMETRICO : new Imagenes().getImagenPerson(),
                        FOTOINGRESO   = foto_ingreso != null ? foto_ingreso.BIOMETRICO : new Imagenes().getImagenPerson(),
                    };
                    if (ListaIngresosSeleccionados.Any())
                    {
                        if (!(ListaIngresosSeleccionados.Count(c =>
                                                               c.Id_Centro == interno.Id_Centro &&
                                                               c.Id_Anio == interno.Id_Anio &&
                                                               c.Id_Imputado == interno.Id_Imputado &&
                                                               c.Id_Ingreso == interno.Id_Ingreso) > 0))
                        {
                            interno.Seleccionado = SeleccionarTodosIngresos;
                            lista_ingresos.Add(interno);
                        }
                    }
                    else
                    {
                        interno.Seleccionado = SeleccionarTodosIngresos;
                        lista_ingresos.Add(interno);
                    }
                }
                ListaIngresos = lista_ingresos;
                EmptyVisible  = !lista_ingresos.Any();
            }
            else
            {
                SeguirCargandoIngresos = false;
            }
        }
Esempio n. 22
0
        public async void GenerarReporte(enumTipoReporte TipoReporte)
        {
            List <cReporteEdificio>        lEdificio = new List <cReporteEdificio>();
            List <cReporteSector>          lSector   = new List <cReporteSector>();
            List <cBrazaleteGafeteInterno> internos  = new List <cBrazaleteGafeteInterno>();

            try
            {
                await StaticSourcesViewModel.CargarDatosMetodoAsync(() =>
                {
                    System.Windows.Application.Current.Dispatcher.Invoke((System.Action)(delegate
                    {
                        BrazaleteReportViewerVisible = Visibility.Collapsed;
                        GafeteReportViewerVisible    = Visibility.Collapsed;
                    }));
                    var Centro = new cCentro().Obtener(GlobalVar.gCentro).FirstOrDefault();

                    if (SelectedEdificio.ID_EDIFICIO == TODOS_LOS_EDIFICIOS)
                    {
                        lEdificio.Add(new cReporteEdificio {
                            Descr = "TODOS LOS EDIFICIOS", IdCentro = GlobalVar.gCentro, IdEdificio = TODOS_LOS_EDIFICIOS
                        });
                    }
                    else
                    {
                        lEdificio.Add(new cReporteEdificio {
                            Descr = SelectedEdificio.DESCR, IdCentro = SelectedEdificio.ID_CENTRO, IdEdificio = SelectedEdificio.ID_EDIFICIO
                        });
                    }

                    if (SelectedEdificio.ID_EDIFICIO == TODOS_LOS_EDIFICIOS)
                    {
                        lSector.Add(new cReporteSector {
                            Descr = "TODOS LOS SECTORES", IdCentro = GlobalVar.gCentro
                        });
                    }
                    else
                    {
                        if (SelectedSector.ID_SECTOR == TODOS_LOS_SECTORES)
                        {
                            lSector.Add(new cReporteSector {
                                Descr = "TODOS LOS SECTORES", IdCentro = GlobalVar.gCentro
                            });
                        }
                        else
                        {
                            lSector.Add(new cReporteSector {
                                Descr = SelectedSector.DESCR, IdCentro = GlobalVar.gCentro, IdEdificio = SelectedEdificio.ID_EDIFICIO, IdSector = SelectedSector.ID_SECTOR
                            });
                        }
                    }

                    internos = new List <cBrazaleteGafeteInterno>();
                    try
                    {
                        foreach (var Ingreso in ListaIngresosSeleccionados)
                        {
                            var ingreso      = new cIngreso().ObtenerUltimoIngreso(Ingreso.ID_CENTRO, Ingreso.ID_ANIO, Ingreso.ID_IMPUTADO);
                            var cama         = ingreso.CAMA;
                            var foto_ingreso = ingreso.INGRESO_BIOMETRICO.Where(w => w.BIOMETRICO_TIPO.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_REGISTRO).FirstOrDefault();
                            var foto_centro  = ingreso.INGRESO_BIOMETRICO.Where(w => w.BIOMETRICO_TIPO.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_SEGUIMIENTO).FirstOrDefault();
                            var ubicacion    = cama != null ? string.Format("{0}-{1}-{2}",
                                                                            !string.IsNullOrEmpty(cama.CELDA.SECTOR.EDIFICIO.DESCR) ? cama.CELDA.SECTOR.EDIFICIO.DESCR.TrimEnd() : string.Empty,
                                                                            string.Format("{0}{1}",
                                                                                          !string.IsNullOrEmpty(cama.CELDA.SECTOR.DESCR) ? cama.CELDA.SECTOR.DESCR.TrimEnd() : string.Empty,
                                                                                          !string.IsNullOrEmpty(cama.CELDA.ID_CELDA) ? cama.CELDA.ID_CELDA.TrimStart().TrimEnd() : string.Empty),
                                                                            cama.ID_CAMA) : "SIN UBIC.";
                            var writer = new BarcodeWriter()
                            {
                                Format = BarcodeFormat.CODE_39, Renderer = new BitmapRenderer()
                            };
                            writer.Options.PureBarcode = true;
                            var bitmap = writer.Write(ingreso.IMPUTADO.NIP.TrimEnd());
                            var stream = new MemoryStream();
                            bitmap.Save(stream, ImageFormat.Bmp);
                            stream.Close();
                            var descripcion_centro = ingreso.CENTRO.DESCR.Replace("CERESO ", "").TrimStart();
                            internos.Add(new cBrazaleteGafeteInterno()
                            {
                                Centro        = TipoReporte == enumTipoReporte.BRAZALETE ? ingreso.CENTRO.DESCR.TrimEnd() : descripcion_centro.TrimEnd(),
                                Expediente    = string.Format("{0}/{1}", Ingreso.ID_ANIO, Ingreso.ID_IMPUTADO),
                                Foto          = foto_centro != null ? foto_centro.BIOMETRICO : (foto_ingreso != null ? foto_ingreso.BIOMETRICO : new Imagenes().getImagenPerson()),
                                NIP           = ingreso.IMPUTADO.NIP,
                                Nombre        = string.Format("{1} {2} {0}", Ingreso.NOMBRE.TrimEnd(), Ingreso.PATERNO.TrimEnd(), Ingreso.MATERNO.TrimEnd()),
                                Ubicacion     = ubicacion,
                                Codigo_Barras = stream.ToArray()
                            });
                        }
                    }
                    catch (Exception ex)
                    {
                        throw new ApplicationException(ex.Message);
                    }
                    System.Windows.Application.Current.Dispatcher.Invoke((System.Action)(delegate
                    {
                        BrazaleteReportViewerVisible = BrazaleteSelected ? Visibility.Visible : Visibility.Collapsed;
                        GafeteReportViewerVisible    = GafeteSelected ? Visibility.Visible : Visibility.Collapsed;
                    }));
                });

                #region Reporte
                switch (TipoReporte)
                {
                case enumTipoReporte.BRAZALETE:

                    Reporte = Ventana.ReportBrazalete;
                    Reporte.LocalReport.ReportPath = "Reportes/rRelacionInternosBrazalete.rdlc";
                    Reporte.LocalReport.DataSources.Clear();
                    Reporte.Margin = new Padding(0, 10, 0, 0);

                    Microsoft.Reporting.WinForms.ReportDataSource ReportDataSource_Brazalete = new Microsoft.Reporting.WinForms.ReportDataSource();
                    ReportDataSource_Brazalete.Name  = "DataSet1";
                    ReportDataSource_Brazalete.Value = lEdificio;
                    Reporte.LocalReport.DataSources.Add(ReportDataSource_Brazalete);

                    #region Subreporte
                    Reporte.LocalReport.SubreportProcessing += (s, e) =>
                    {
                        if (e.ReportPath.Equals("srSectorInternosBrazalete", StringComparison.InvariantCultureIgnoreCase))
                        {
                            ReportDataSource rds1 = new ReportDataSource("DataSet1", lSector);
                            e.DataSources.Add(rds1);
                        }
                        else
                        {
                            ReportDataSource rds2 = new ReportDataSource("DataSet1", internos);
                            e.DataSources.Add(rds2);
                        }
                    };
                    #endregion
                    break;

                case enumTipoReporte.GAFETE:
                    Reporte = Ventana.ReportGafete;
                    Reporte.LocalReport.ReportPath = "Reportes/rRelacionInternosGafete.rdlc";
                    Reporte.LocalReport.DataSources.Clear();



                    Microsoft.Reporting.WinForms.ReportDataSource ReportDataSource_Gafete = new Microsoft.Reporting.WinForms.ReportDataSource();
                    ReportDataSource_Gafete.Name  = "DataSet1";
                    ReportDataSource_Gafete.Value = lEdificio;
                    Reporte.LocalReport.DataSources.Add(ReportDataSource_Gafete);

                    #region Subreporte
                    Reporte.LocalReport.SubreportProcessing += (s, e) =>
                    {
                        if (e.ReportPath.Equals("srSectorInternosGafete", StringComparison.InvariantCultureIgnoreCase))
                        {
                            ReportDataSource rds1 = new ReportDataSource("DataSet1", lSector);
                            e.DataSources.Add(rds1);
                        }
                        else
                        {
                            ReportDataSource rds2 = new ReportDataSource("DataSet1", internos);
                            e.DataSources.Add(rds2);
                        }
                    };
                    #endregion
                    break;
                }
                #endregion
                Reporte.Refresh();
                Reporte.RefreshReport();
            }
            catch (Exception ex)
            {
                throw new ApplicationException(ex.Message);
            }
        }
        private void GenerarReporte()
        {
            try
            {
                var centro = new cCentro().Obtener(GlobalVar.gCentro).FirstOrDefault();

                var datosReporte = new List <cReporteDatos>();
                datosReporte.Add(new cReporteDatos()
                {
                    Encabezado1 = Parametro.ENCABEZADO1.Trim(),
                    Encabezado2 = Parametro.ENCABEZADO2.Trim(),
                    Encabezado3 = Parametro.ENCABEZADO3.Trim(),
                    Titulo      = "RELACIÓN DE INTERNOS",
                    Logo1       = Parametro.REPORTE_LOGO1,
                    Logo2       = Parametro.REPORTE_LOGO2,
                    Centro      = centro.DESCR.Trim().ToUpper(),
                });


                #region armar reporte
                var hoy     = Fechas.GetFechaDateServer;
                var f       = new Fechas();
                var reporte = new List <cReporteListadoGeneralDelito>();
                var lista   = new cIngreso().ReporteGeneralDelito(GlobalVar.gCentro, OrdenarPor, Ordenamiento);
                if (lista != null)
                {
                    foreach (var w in lista)
                    {
                        reporte.Add(new cReporteListadoGeneralDelito()
                        {
                            Expediente     = string.Format("{0}/{1}", w.ID_ANIO, w.ID_IMPUTADO),
                            Ingreso        = w.ID_INGRESO.ToString(),
                            Edad           = IncluirEdad ? (short?)f.CalculaEdad(w.NACIMIENTO_FECHA, hoy) : 0,
                            NombreCompleto = string.Format("{0} {1} {2}",
                                                           !string.IsNullOrEmpty(w.NOMBRE) ? w.NOMBRE.Trim() : string.Empty,
                                                           !string.IsNullOrEmpty(w.PATERNO) ? w.PATERNO.Trim() : string.Empty,
                                                           !string.IsNullOrEmpty(w.MATERNO) ? w.MATERNO.Trim() : string.Empty),
                            Ubicacion = string.Format("{0}-{1}-{2}-{3}",
                                                      !string.IsNullOrEmpty(w.EDIFICIO) ? w.EDIFICIO.Trim() : string.Empty,
                                                      !string.IsNullOrEmpty(w.SECTOR) ? w.SECTOR.Trim() : string.Empty,
                                                      !string.IsNullOrEmpty(w.CELDA) ? w.CELDA.Trim() : string.Empty,
                                                      w.CAMA),
                            Fuero         = string.IsNullOrEmpty(w.FUERO) ? (w.FUERO == "C" ? "COMUN" : w.FUERO == "F" ? "FEDERAL" : "DESCONOCIDO") : "DESCONOCIDO",
                            Situacion     = w.CLASIFICACION_JURIDICA,
                            FechaIngreso  = w.FEC_INGRESO_CERESO,
                            DelitoIngreso = w.INGRESO_DELITO,
                            Foto          = IncluirFoto ? (w.FOTO != null ? w.FOTO : new Imagenes().getImagenPerson()) : null,
                            Alias         = w.ALIAS,
                        });
                    }
                }
                #endregion

                #region Reporte
                Reporte.LocalReport.ReportPath = "Reportes/rListadoGeneralDelito.rdlc";
                Reporte.LocalReport.DataSources.Clear();

                var rds2 = new Microsoft.Reporting.WinForms.ReportDataSource();
                rds2.Name  = "DataSet2";
                rds2.Value = datosReporte;
                Reporte.LocalReport.DataSources.Add(rds2);

                var rds1 = new Microsoft.Reporting.WinForms.ReportDataSource();
                rds1.Name  = "DataSet1";
                rds1.Value = reporte;
                Reporte.LocalReport.DataSources.Add(rds1);

                #region Parametros
                Reporte.LocalReport.SetParameters(new Microsoft.Reporting.WinForms.ReportParameter("MostrarEdad", IncluirEdad ? "N" : "S"));
                Reporte.LocalReport.SetParameters(new Microsoft.Reporting.WinForms.ReportParameter("MostrarFoto", IncluirFoto ? "N" : "S"));
                #endregion

                //cReporteListadoGeneralDelito
                #region comentado
                //ListValue = new cIngreso().GetData().Where(w => w.ID_UB_CENTRO == GlobalVar.gCentro && !Parametro.ESTATUS_ADMINISTRATIVO_INACT.Contains(w.ID_ESTATUS_ADMINISTRATIVO)).GroupBy(g => new { g.ID_ANIO, g.ID_IMPUTADO }).SelectMany(sm => sm.Where(w => w.ID_INGRESO == sm.Max(m => m.ID_INGRESO))).AsEnumerable().Select(s => new cReporteListadoGeneralDelito()
                //{
                //    ID_ANIO = s.ID_ANIO,
                //    ID_IMPUTADO = s.ID_IMPUTADO,
                //    Expediente = s.ID_ANIO + "\\" + s.ID_IMPUTADO,
                //    NombreCompleto = (s.IMPUTADO.PATERNO != null ? s.IMPUTADO.PATERNO.Trim() : string.Empty) + " " + (s.IMPUTADO.MATERNO != null ? s.IMPUTADO.MATERNO.Trim() : string.Empty) + " " + (s.IMPUTADO.NOMBRE != null ? s.IMPUTADO.NOMBRE.Trim() : string.Empty),
                //    Ingreso = s.ID_INGRESO.ToString(),
                //    Alias = getAlias(s.IMPUTADO.ALIAS),// "preguntar por alias",
                //    DelitoIngreso = s.INGRESO_DELITO != null ? s.INGRESO_DELITO.DESCR : string.Empty,
                //    Fuero = "preguntar por fuero",
                //    Situacion = s.CLASIFICACION_JURIDICA != null ? s.CLASIFICACION_JURIDICA.DESCR.Trim() : string.Empty,
                //    Ubicacion = s.CAMA != null ? s.CAMA.CELDA.SECTOR.EDIFICIO.DESCR.Trim() + "-" + s.CAMA.CELDA.SECTOR.DESCR.Trim() + s.CAMA.CELDA.ID_CELDA.Trim() + "-" + (string.IsNullOrEmpty(s.CAMA.DESCR) ? s.CAMA.ID_CAMA.ToString().Trim() : s.CAMA.ID_CAMA + " " + s.CAMA.DESCR.Trim()) : string.Empty,
                //    Foto = IncluirFoto ? s.INGRESO_BIOMETRICO.Any(w => w.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_SEGUIMIENTO && w.ID_FORMATO == (short)enumTipoFormato.FMTO_JPG) ? s.INGRESO_BIOMETRICO.Where(w => w.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_SEGUIMIENTO && w.ID_FORMATO == (short)enumTipoFormato.FMTO_JPG).FirstOrDefault().BIOMETRICO : null : null,


                //    FechaIngreso = s.FEC_INGRESO_CERESO,
                //    Edad = IncluirEdad ? new Fechas().CalculaEdad(s.IMPUTADO.NACIMIENTO_FECHA) : new Nullable<short>()
                //}).ToList();

                //switch (SelectedValue)
                //{
                //    case OrderByValues.Ninguno:
                //        break;
                //    case OrderByValues.Numero_Expediente:
                //        if (Ordenamiento)
                //            rds1.Value = ListValue.OrderBy(o => o.ID_ANIO).ThenBy(t => t.ID_IMPUTADO).ToList();
                //        else
                //            rds1.Value = ListValue.OrderByDescending(o => o.ID_ANIO).ThenByDescending(t => t.ID_IMPUTADO).ToList();
                //        break;
                //    case OrderByValues.Nombre_Interno:
                //        if (Ordenamiento)
                //            rds1.Value = ListValue.OrderBy(o => o.NombreCompleto).ToList();
                //        else
                //            rds1.Value = ListValue.OrderByDescending(o => o.Expediente).ToList();
                //        break;
                //    case OrderByValues.Fecha_Ingreso:
                //        if (Ordenamiento)
                //            rds1.Value = ListValue.OrderBy(o => o.FechaIngreso).ToList();
                //        else
                //            rds1.Value = ListValue.OrderByDescending(o => o.Expediente).ToList();
                //        break;
                //    case OrderByValues.Ubicacion:
                //        if (Ordenamiento)
                //            rds1.Value = ListValue.OrderBy(o => o.Ubicacion).ToList();
                //        else
                //            rds1.Value = ListValue.OrderByDescending(o => o.Expediente).ToList();
                //        break;
                //    case OrderByValues.Clasificacion_Juridica:
                //        if (Ordenamiento)
                //            rds1.Value = ListValue.OrderBy(o => o.DelitoIngreso).ToList();
                //        else
                //            rds1.Value = ListValue.OrderByDescending(o => o.Expediente).ToList();
                //        break;
                //    default:
                //        break;
                //}

                //Reporte.LocalReport.DataSources.Add(rds1);
                #endregion

                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    Reporte.RefreshReport();
                }));
                #endregion
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al generar reporte", ex);
            }
        }
Esempio n. 24
0
        public void ObtenerIngresos()
        {
            short?nulo = null;

            var Ingresos = new cIngreso().ObtenerIngresosActivosFiltradosPorEdificio(GlobalVar.gCentro,
                                                                                     SelectedEdificio.ID_EDIFICIO != TODOS_LOS_EDIFICIOS ? SelectedEdificio.ID_EDIFICIO : nulo,
                                                                                     SelectedEdificio.ID_EDIFICIO != TODOS_LOS_EDIFICIOS ? (SelectedSector.ID_SECTOR != TODOS_LOS_SECTORES ? SelectedSector.ID_SECTOR : nulo) : nulo, Pagina,
                                                                                     BusquedaAvanzadaChecked && AnioBuscar.HasValue ? AnioBuscar.Value : 0,
                                                                                     BusquedaAvanzadaChecked && FolioBuscar.HasValue ? FolioBuscar.Value : 0,
                                                                                     BusquedaAvanzadaChecked && !string.IsNullOrEmpty(NombreBuscar) ? NombreBuscar : string.Empty,
                                                                                     BusquedaAvanzadaChecked && !string.IsNullOrEmpty(ApellidoPaternoBuscar) ? ApellidoPaternoBuscar : string.Empty,
                                                                                     BusquedaAvanzadaChecked && !string.IsNullOrEmpty(ApellidoMaternoBuscar) ? ApellidoMaternoBuscar : string.Empty).ToList();

            if (Ingresos.Any())
            {
                Pagina++;
                SeguirCargandoIngresos = true;
                var                lista_ingresos = new List <cInternoGafeteBrazalete>(ListaIngresos);
                byte[]             fi, fc;
                INGRESO_BIOMETRICO bio;
                foreach (var Ingreso in Ingresos)
                {
                    if (Ingreso.INGRESO_BIOMETRICO != null)
                    {
                        bio = Ingreso.INGRESO_BIOMETRICO.Where(w => w.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_REGISTRO).FirstOrDefault();
                        if (bio != null)
                        {
                            fi = bio.BIOMETRICO;
                        }
                        else
                        {
                            fi = new Imagenes().getImagenPerson();
                        }
                        bio = Ingreso.INGRESO_BIOMETRICO.Where(w => w.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_SEGUIMIENTO).FirstOrDefault();
                        if (bio != null)
                        {
                            fc = bio.BIOMETRICO;
                        }
                        else
                        {
                            fc = new Imagenes().getImagenPerson();
                        }
                    }
                    else
                    {
                        fi = fc = new Imagenes().getImagenPerson();
                    }

                    var interno = new cInternoGafeteBrazalete()
                    {
                        ID_CENTRO    = Ingreso.ID_CENTRO,
                        ID_ANIO      = Ingreso.ID_ANIO,
                        ID_IMPUTADO  = Ingreso.ID_IMPUTADO,
                        ID_INGRESO   = Ingreso.ID_INGRESO,
                        NOMBRE       = !string.IsNullOrEmpty(Ingreso.IMPUTADO.NOMBRE) ? Ingreso.IMPUTADO.NOMBRE.TrimEnd() : string.Empty,
                        PATERNO      = !string.IsNullOrEmpty(Ingreso.IMPUTADO.PATERNO) ? Ingreso.IMPUTADO.PATERNO.TrimEnd() : string.Empty,
                        MATERNO      = !string.IsNullOrEmpty(Ingreso.IMPUTADO.MATERNO) ? Ingreso.IMPUTADO.MATERNO.TrimEnd() : string.Empty,
                        SELECCIONADO = false,
                        FOTOINGRESO  = fi,
                        FOTOCENTRO   = fc,
                    };
                    if (ListaIngresosSeleccionados.Any())
                    {
                        if (!(ListaIngresosSeleccionados.Count(c =>
                                                               c.ID_CENTRO == interno.ID_CENTRO &&
                                                               c.ID_ANIO == interno.ID_ANIO &&
                                                               c.ID_IMPUTADO == interno.ID_IMPUTADO &&
                                                               c.ID_INGRESO == interno.ID_INGRESO) > 0))
                        {
                            interno.SELECCIONADO = SeleccionarTodosIngresos;
                            lista_ingresos.Add(interno);
                        }
                    }
                    else
                    {
                        interno.SELECCIONADO = SeleccionarTodosIngresos;
                        lista_ingresos.Add(interno);
                    }
                }
                ListaIngresos = lista_ingresos;
                EmptyVisible  = !lista_ingresos.Any();
            }
            else
            {
                SeguirCargandoIngresos = false;
            }
        }
Esempio n. 25
0
        private void GenerarReporte()
        {
            try
            {
                //NOTA: ANIO TEMPORALMENTE FIJO SOLO PARA PRUEBAS DEBIDO A QUE NO HAY REGISTROS PARA EL ANIO 2016
                //DESCOMENTAR MAS ADELANTE
                var mes          = Fechas.GetFechaDateServer.Month;
                var anio         = Fechas.GetFechaDateServer.Year;
                var datosReporte = new List <cReporteDatos>();
                datosReporte.Add(new cReporteDatos()
                {
                    Encabezado1 = Parametro.ENCABEZADO1,
                    Encabezado2 = Parametro.ENCABEZADO2,
                    Encabezado3 = Parametro.ENCABEZADO3,
                    Logo1       = Parametro.REPORTE_LOGO1,
                    Logo2       = Parametro.REPORTE_LOGO2,
                    Titulo      = "Población Extranjera"
                });
                var lst_internos_causa_penal_delito = new cCausaPenalDelito().ObtenerTodos().ToList();
                var internos_lista  = new cIngreso().ObtenerIngresosActivos(GlobalVar.gCentro).Where(w => w.FEC_INGRESO_CERESO.Value.Year == anio && w.FEC_INGRESO_CERESO.Value.Month == mes).ToList();
                var lst_imp         = new List <cPoblacionExtranjera>();
                var lst_imp_grafica = new List <cGraficaPoblacionExtranjeraF>();
                //var lst_imp_grafica_f = new List<cReporteGraficaPoblacionEntidadF>();

                foreach (var item in internos_lista)
                {
                    var interno = lst_internos_causa_penal_delito.Where(w => w.ID_CENTRO == item.ID_CENTRO && w.ID_ANIO == item.ID_ANIO && w.ID_IMPUTADO == item.ID_IMPUTADO && w.ID_INGRESO == w.ID_INGRESO).FirstOrDefault();
                    if (interno == null)
                    {
                        var obj = new cPoblacionExtranjera();
                        obj.Pais                = item.IMPUTADO.PAIS_NACIONALIDAD == null ? string.Empty : item.IMPUTADO.PAIS_NACIONALIDAD.PAIS;
                        obj.Causa               = "Sin Fuero";
                        obj.SinFueroIndiciado   = item.ID_CLASIFICACION_JURIDICA == "I" ? 1 : 0;
                        obj.SinFueroProcesado   = item.ID_CLASIFICACION_JURIDICA == "2" ? 1 : 0;
                        obj.SinFueroSentenciado = item.ID_CLASIFICACION_JURIDICA == "3" ? 1 : 0;
                        lst_imp.Add(obj);
                    }
                }

                foreach (var item in lst_internos_causa_penal_delito)
                {
                    var interno = internos_lista.Where(w => w.ID_CENTRO == item.ID_CENTRO && w.ID_ANIO == item.ID_ANIO && w.ID_IMPUTADO == item.ID_IMPUTADO && w.ID_INGRESO == w.ID_INGRESO).FirstOrDefault();
                    if (interno != null)
                    {
                        if (item.CAUSA_PENAL.ID_ESTATUS_CP.Value == 1 && item.ID_FUERO == "C")
                        {
                            var obj = new cPoblacionExtranjera();
                            obj.Pais           = item.CAUSA_PENAL.INGRESO.IMPUTADO.PAIS_NACIONALIDAD.PAIS;
                            obj.Causa          = "Comun";
                            obj.ComunProcesado = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" ? 1 : 0;
                            lst_imp.Add(obj);
                        }
                    }
                }
                //Para alimentar grafica Masculino
                foreach (var item in lst_imp)
                {
                    if (item.Causa == "Comun")
                    {
                        if (item.ComunProcesado > 0)
                        {
                            var obj = new cGraficaPoblacionExtranjeraF();
                            obj.Pais   = item.Pais;
                            obj.Causa  = "Procesado Fuero Comun";
                            obj.Comun += item.ComunProcesado;
                            lst_imp_grafica.Add(obj);
                        }
                    }
                    if (item.Causa == "Sin Fuero")
                    {
                        if (item.SinFueroIndiciado > 0)
                        {
                            var obj = new cGraficaPoblacionExtranjeraF();
                            obj.Pais   = item.Pais;
                            obj.Causa  = "Indiciado sin Fuero";
                            obj.Comun += item.SinFueroIndiciado;
                            lst_imp_grafica.Add(obj);
                        }
                        if (item.SinFueroProcesado > 0)
                        {
                            var obj = new cGraficaPoblacionExtranjeraF();
                            obj.Pais   = item.Pais;
                            obj.Causa  = "Procesado sin Fuero";
                            obj.Comun += item.SinFueroProcesado;
                            lst_imp_grafica.Add(obj);
                        }
                        if (item.SinFueroSentenciado > 0)
                        {
                            var obj = new cGraficaPoblacionExtranjeraF();
                            obj.Pais   = item.Pais;
                            obj.Causa  = "Sentenciado sin Fuero";
                            obj.Comun += item.SinFueroSentenciado;
                            lst_imp_grafica.Add(obj);
                        }
                    }
                }
                var results = lst_imp.GroupBy(n => n.Pais).
                              Select(group =>
                                     new
                {
                    Pais = group.Key,
                    Sexo = group.ToList(),
                });

                var lst_imp2 = new List <cPoblacionExtranjera>();
                foreach (var row in results)
                {
                    var obj = new cPoblacionExtranjera();
                    obj.Pais = row.Pais;
                    foreach (var item in row.Sexo)
                    {
                        obj.ComunProcesado      += item.ComunProcesado;
                        obj.SinFueroIndiciado   += item.SinFueroIndiciado;
                        obj.SinFueroProcesado   += item.SinFueroProcesado;
                        obj.SinFueroSentenciado += item.SinFueroSentenciado;
                    }
                    lst_imp2.Add(obj);
                }
                Reporte.LocalReport.ReportPath = "../../Reportes/rPoblacionExtranjero.rdlc";
                Reporte.LocalReport.DataSources.Clear();

                ReportDataSource rds1 = new ReportDataSource();
                rds1.Name  = "DataSet1";
                rds1.Value = datosReporte;
                Reporte.LocalReport.DataSources.Add(rds1);

                ReportDataSource rds2 = new ReportDataSource();
                rds2.Name  = "DataSet2";
                rds2.Value = lst_imp2;
                Reporte.LocalReport.DataSources.Add(rds2);

                ReportDataSource rds3 = new ReportDataSource();
                rds3.Name  = "DataSet4";
                rds3.Value = lst_imp_grafica;
                Reporte.LocalReport.DataSources.Add(rds3);

                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    Reporte.Refresh();
                    Reporte.RefreshReport();
                }));
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al generar reporte.", ex);
            }
        }
 public async void GenerarReporte()
 {
     try
     {
         List <cPapeleta> lPapeletas = new List <cPapeleta>();
         await StaticSourcesViewModel.CargarDatosMetodoAsync(() =>
         {
             Application.Current.Dispatcher.Invoke((Action)(delegate
             {
                 ReportViewerVisible = Visibility.Collapsed;
             }));
             var edificio           = SelectedEdificio.ID_EDIFICIO != TODOS_LOS_EDIFICIOS ? SelectedEdificio.ID_EDIFICIO : (short?)0;
             var sector             = SelectedEdificio.ID_EDIFICIO != TODOS_LOS_EDIFICIOS ? (SelectedSector.ID_SECTOR != TODOS_LOS_SECTORES ? SelectedSector.ID_SECTOR : (short?)0) : (short?)0;
             List <CELDA> lEstancia = new List <CELDA>();
             lEstancia.AddRange(new cCelda().ObtenerCeldas(
                                    GlobalVar.gCentro,
                                    edificio,
                                    sector).
                                AsEnumerable().
                                Where(w =>
                                      w.CAMA.Count > 0).
                                ToList().
                                Select(s => new CELDA()
             {
                 ID_CENTRO   = s.ID_CENTRO,
                 ID_EDIFICIO = s.ID_EDIFICIO,
                 ID_SECTOR   = s.ID_SECTOR,
                 ID_CELDA    = s.ID_CELDA,
                 SECTOR      = s.SECTOR
             }).
                                OrderBy(o => o.ID_EDIFICIO).
                                ThenBy(t => t.ID_SECTOR).
                                ThenBy(t => t.ID_CELDA).
                                ToList());
             lPapeletas = new cIngreso().
                          ObtenerIngresosEstancias(lEstancia).
                          AsEnumerable().
                          Select(s => new cPapeleta()
             {
                 Encabezado1 = Parametro.ENCABEZADO1.Trim(),
                 Encabezado2 = Parametro.ENCABEZADO2.Trim(),
                 Encabezado3 = Parametro.ENCABEZADO3.Trim(),
                 Logo1       = Parametro.REPORTE_LOGO1,
                 Logo2       = Parametro.REPORTE_LOGO2,
                 Edificio    = !string.IsNullOrEmpty(s.CAMA.CELDA.SECTOR.EDIFICIO.DESCR) ? s.CAMA.CELDA.SECTOR.EDIFICIO.DESCR.TrimEnd() : string.Empty,
                 Sector      = !string.IsNullOrEmpty(s.CAMA.CELDA.SECTOR.DESCR) ? s.CAMA.CELDA.SECTOR.DESCR.TrimEnd() : string.Empty,
                 Celda       = !string.IsNullOrEmpty(s.ID_UB_CELDA) ? s.ID_UB_CELDA.TrimEnd() : string.Empty,
                 Id_Anio     = s.ID_ANIO,
                 Id_Imputado = s.ID_IMPUTADO,
                 Nombre      = !string.IsNullOrEmpty(s.IMPUTADO.NOMBRE) ? s.IMPUTADO.NOMBRE.TrimEnd() : string.Empty,
                 Paterno     = !string.IsNullOrEmpty(s.IMPUTADO.PATERNO) ? s.IMPUTADO.PATERNO.TrimEnd() : string.Empty,
                 Materno     = !string.IsNullOrEmpty(s.IMPUTADO.MATERNO) ? s.IMPUTADO.MATERNO.TrimEnd() : string.Empty
             }).
                          ToList();
             Application.Current.Dispatcher.Invoke((Action)(delegate
             {
                 Reporte.LocalReport.ReportPath = "Reportes/rPapeletas.rdlc";
                 Reporte.LocalReport.DataSources.Clear();
                 ReportDataSource ReportDataSource = new ReportDataSource();
                 ReportDataSource.Name = "DataSet1";
                 ReportDataSource.Value = lPapeletas;
                 Reporte.LocalReport.DataSources.Add(ReportDataSource);
                 Reporte.LocalReport.SetParameters(new ReportParameter("FechaInicial", string.Format("{0} DE {1} DEL {2}", SelectedFechaInicial.Day, Enum.GetName(typeof(eMesesAnio), SelectedFechaInicial.Month), SelectedFechaInicial.Year)));
                 Reporte.LocalReport.SetParameters(new ReportParameter("FechaFinal", string.Format("{0} DE {1} DEL {2}", SelectedFechaFinal.Day, Enum.GetName(typeof(eMesesAnio), SelectedFechaFinal.Month), SelectedFechaFinal.Year)));
                 Reporte.Refresh();
                 Reporte.RefreshReport();
                 ReportViewerVisible = Visibility.Visible;
             }));
         });
     }
     catch (Exception ex)
     {
         throw new ApplicationException(ex.Message);
     }
 }
        public async void GenerarReporte()
        {
            var lInternos    = new List <cInternoVisitantes>();
            var datosReporte = new List <cReporteDatos>();
            var centro       = new CENTRO();



            await StaticSourcesViewModel.CargarDatosMetodoAsync(() =>
            {
                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    ReportViewerVisible = Visibility.Collapsed;
                }));
                try
                {
                    centro = new cCentro().Obtener(GlobalVar.gCentro).FirstOrDefault();
                    datosReporte.Add(new cReporteDatos()
                    {
                        Encabezado1 = Parametro.ENCABEZADO1.Trim(),
                        Encabezado2 = Parametro.ENCABEZADO2.Trim(),
                        Encabezado3 = Parametro.ENCABEZADO3.Trim(),
                        Titulo      = "VISITA FAMILIAR",
                        Logo1       = Parametro.REPORTE_LOGO1,
                        Logo2       = Parametro.REPORTE_LOGO2,
                        Centro      = centro.DESCR.Trim().ToUpper(),
                    });



                    var ingresos = new cVisitanteIngreso().
                                   ObtenerTodosIngresos().
                                   Select(s => new { s.ID_CENTRO, s.ID_ANIO, s.ID_IMPUTADO, s.ID_INGRESO }).
                                   Distinct().OrderBy(o => o.ID_CENTRO).ThenBy(t => t.ID_ANIO).ThenBy(t => t.ID_IMPUTADO).ThenBy(t => t.ID_INGRESO).ToList();

                    var consulta_ingreso = new cIngreso();
                    foreach (var ingreso in ingresos)
                    {
                        var visitantes_registrados = new cVisitanteIngreso().
                                                     ObtenerVisitantesIngreso(ingreso.ID_CENTRO, ingreso.ID_ANIO, ingreso.ID_IMPUTADO, ingreso.ID_INGRESO).
                                                     Select(s => new { s.ID_PERSONA }).
                                                     Distinct().OrderBy(o => o.ID_PERSONA).ToList();
                        if (visitantes_registrados.Count() != 0)
                        {
                            var visitantes_aduana = new cAduana().
                                                    ObtenerTodosVisitantesIngreso(ingreso.ID_CENTRO, ingreso.ID_ANIO, ingreso.ID_IMPUTADO, ingreso.ID_INGRESO, SelectedFechaInicial, SelectedFechaFinal).
                                                    Select(s => new { s.ID_PERSONA }).
                                                    Distinct().OrderBy(o => o.ID_PERSONA).ToList();

                            foreach (var visitante in visitantes_aduana)
                            {
                                visitantes_registrados.Remove(visitante);
                            }

                            var ultimo_ingreso = consulta_ingreso.ObtenerUltimoIngreso(GlobalVar.gCentro, ingreso.ID_ANIO, ingreso.ID_IMPUTADO);
                            if (visitantes_registrados.Count() != 0)
                            {
                                lInternos.Add(
                                    new cInternoVisitantes()
                                {
                                    Anio                  = ingreso != null ? ingreso.ID_ANIO : new int(),
                                    Celda                 = ultimo_ingreso != null ? ultimo_ingreso.CAMA != null ? ultimo_ingreso.CAMA.ID_CELDA : string.Empty : string.Empty,
                                    Edificio              = ultimo_ingreso != null ? ultimo_ingreso.CAMA != null ? ultimo_ingreso.CAMA.CELDA != null ? ultimo_ingreso.CAMA.CELDA.SECTOR != null ? ultimo_ingreso.CAMA.CELDA.SECTOR.EDIFICIO != null ? !string.IsNullOrEmpty(ultimo_ingreso.CAMA.CELDA.SECTOR.EDIFICIO.DESCR) ? ultimo_ingreso.CAMA.CELDA.SECTOR.EDIFICIO.DESCR.Trim() : string.Empty : string.Empty : string.Empty : string.Empty : string.Empty : string.Empty,
                                    Id_Imputado           = ingreso != null ? ingreso.ID_IMPUTADO : new int(),
                                    Materno               = ultimo_ingreso != null ? ultimo_ingreso.IMPUTADO != null ? !string.IsNullOrEmpty(ultimo_ingreso.IMPUTADO.MATERNO) ? ultimo_ingreso.IMPUTADO.MATERNO.Trim() : string.Empty : string.Empty : string.Empty,
                                    Nombre                = ultimo_ingreso != null ? ultimo_ingreso.IMPUTADO != null ? !string.IsNullOrEmpty(ultimo_ingreso.IMPUTADO.NOMBRE) ? ultimo_ingreso.IMPUTADO.NOMBRE.Trim() : string.Empty : string.Empty : string.Empty,
                                    Paterno               = ultimo_ingreso != null ? ultimo_ingreso.IMPUTADO != null ? !string.IsNullOrEmpty(ultimo_ingreso.IMPUTADO.PATERNO) ? ultimo_ingreso.IMPUTADO.PATERNO.Trim() : string.Empty : string.Empty : string.Empty,
                                    Sector                = ultimo_ingreso != null ? ultimo_ingreso.CAMA != null ? ultimo_ingreso.CAMA.CELDA != null ? ultimo_ingreso.CAMA.CELDA.SECTOR != null ? !string.IsNullOrEmpty(ultimo_ingreso.CAMA.CELDA.SECTOR.DESCR) ? ultimo_ingreso.CAMA.CELDA.SECTOR.DESCR.Trim() : string.Empty : string.Empty : string.Empty : string.Empty : string.Empty,
                                    VisitantesRegistrados = visitantes_registrados != null ? visitantes_registrados.Any() ? visitantes_registrados.Count : new int() : new int(),
                                });
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw new ApplicationException(ex.Message);
                }

                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    ReportViewerVisible = Visibility.Visible;
                }));
            });


            Reporte.LocalReport.ReportPath = "Reportes/rVisitantesRegistradosXInterno.rdlc";
            Reporte.LocalReport.DataSources.Clear();

            ReportDataSource ReportDataSource_Encabezado = new ReportDataSource();

            ReportDataSource_Encabezado.Name  = "DataSet1";
            ReportDataSource_Encabezado.Value = datosReporte;

            ReportDataSource ReportDataSource = new ReportDataSource();

            ReportDataSource.Name  = "DataSet2";
            ReportDataSource.Value = lInternos;

            Reporte.LocalReport.DataSources.Add(ReportDataSource_Encabezado);
            Reporte.LocalReport.DataSources.Add(ReportDataSource);


            Reporte.LocalReport.SetParameters(new ReportParameter(("FechaInicial"), string.Format("{0}/{1}/{2}", SelectedFechaInicial.Day, SelectedFechaInicial.Month, SelectedFechaInicial.Year)));
            Reporte.LocalReport.SetParameters(new ReportParameter(("FechaFinal"), string.Format("{0}/{1}/{2}", SelectedFechaFinal.Day, SelectedFechaFinal.Month, SelectedFechaFinal.Year)));

            Reporte.Refresh();
            Reporte.RefreshReport();
        }
Esempio n. 28
0
        public async void GenerarReporte()
        {
            var lIngresosEgresos = new List <cIngresoEgreso>();
            var datosReporte     = new List <cReporteDatos>();
            var centro           = new CENTRO();
            var Mes_Seleccionado = ObtenerMes();
            var usuario          = new USUARIO();
            await StaticSourcesViewModel.CargarDatosMetodoAsync(() =>
            {
                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    ReportViewerVisible = Visibility.Collapsed;
                }));

                try
                {
                    usuario = new cUsuario().ObtenerUsuario(GlobalVar.gUsr);
                    centro  = new cCentro().Obtener(GlobalVar.gCentro).FirstOrDefault();
                    datosReporte.Add(new cReporteDatos()
                    {
                        Encabezado1 = Parametro.ENCABEZADO1.Trim(),
                        Encabezado2 = Parametro.ENCABEZADO2.Trim(),
                        Encabezado3 = Parametro.ENCABEZADO3.Trim(),
                        Titulo      = "INGRESOS/EGRESOS",
                        Logo1       = Parametro.REPORTE_LOGO1,
                        Logo2       = Parametro.REPORTE_LOGO2,
                        Centro      = centro.DESCR.Trim().ToUpper(),
                    });



                    lIngresosEgresos = new cIngreso().
                                       ObtenerTodosPorFecha(
                        SeleccionMesSelected ? true : false,
                        SeleccionMesSelected ? (int?)Mes_Seleccionado : null,
                        SeleccionMesSelected ? (DateTime?)Fechas.GetFechaDateServer : null,
                        SeleccionMesSelected ? null : (DateTime?)SelectedFechaInicial,
                        SeleccionMesSelected ? null : (DateTime?)SelectedFechaFinal).
                                       Select(s => new cIngresoEgreso()
                    {
                        Sexo = !string.IsNullOrEmpty(s.IMPUTADO.SEXO) ? (s.IMPUTADO.SEXO.TrimEnd() == FEMENINO ? "FEMENINO" : "MASCULINO") : "INDEFINIDO",
                        Tipo = s.FEC_SALIDA_CERESO.HasValue ? "EGRESO" : "INGRESO"
                    }).ToList();
                }
                catch (Exception ex)
                {
                    throw new ApplicationException(ex.Message);
                }


                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    ReportViewerVisible = Visibility.Visible;
                }));
            });

            try
            {
                Reporte.LocalReport.ReportPath = "Reportes/rIngresosEgresos.rdlc";
                Reporte.LocalReport.DataSources.Clear();

                ReportDataSource ReportDataSource_Encabezado = new ReportDataSource();
                ReportDataSource_Encabezado.Name  = "DataSet1";
                ReportDataSource_Encabezado.Value = datosReporte;

                ReportDataSource ReportDataSource = new ReportDataSource();
                ReportDataSource.Name  = "DataSet2";
                ReportDataSource.Value = lIngresosEgresos;

                Reporte.LocalReport.DataSources.Add(ReportDataSource_Encabezado);
                Reporte.LocalReport.DataSources.Add(ReportDataSource);

                Reporte.LocalReport.SetParameters(new ReportParameter(("Usuario"), ObtenerNombreUsuario(usuario)));
                Reporte.LocalReport.SetParameters(new ReportParameter(("FechaActual"), string.Format("{0} DE {1} DE {2}", Fechas.GetFechaDateServer.Day, ((eMesesAnio)Fechas.GetFechaDateServer.Month).ToString(), Fechas.GetFechaDateServer.Year)));
                Reporte.LocalReport.SetParameters(new ReportParameter(("Centro"), centro.DESCR.Trim().ToUpper()));
                Reporte.LocalReport.SetParameters(new ReportParameter(("ComandanteEstatal"), Parametro.COMANDANTE_ESTATAL_CENTROS));
                Reporte.LocalReport.SetParameters(new ReportParameter(("FechaInicial"), string.Format("{0}/{1}/{2}", SelectedFechaInicial.Day, SelectedFechaInicial.Month, SelectedFechaInicial.Year)));
                Reporte.LocalReport.SetParameters(new ReportParameter(("FechaFinal"), string.Format("{0}/{1}/{2}", SelectedFechaFinal.Day, SelectedFechaFinal.Month, SelectedFechaFinal.Year)));

                Reporte.Refresh();
                Reporte.RefreshReport();
            }
            catch (Exception ex)
            {
                throw new ApplicationException(ex.Message);
            }
        }
Esempio n. 29
0
        private void GenerarReporte()
        {
            try
            {
                //NOTA: ANIO TEMPORALMENTE FIJO SOLO PARA PRUEBAS DEBIDO A QUE NO HAY REGISTROS PARA EL ANIO 2016
                //DESCOMENTAR MAS ADELANTE
                var mes          = Fechas.GetFechaDateServer.Month;
                var anio         = Fechas.GetFechaDateServer.Year;
                var datosReporte = new List <cReporteDatos>();
                var tercera_Edad = Parametro.ID_TERCERA_EDAD;
                datosReporte.Add(new cReporteDatos()
                {
                    Encabezado1 = Parametro.ENCABEZADO1,
                    Encabezado2 = Parametro.ENCABEZADO2,
                    Encabezado3 = Parametro.ENCABEZADO3,
                    Logo1       = Parametro.REPORTE_LOGO1,
                    Logo2       = Parametro.REPORTE_LOGO2,
                    Titulo      = "Tercera Edad"
                });
                var lst_internos_causa_penal_delito = new cCausaPenalDelito().ObtenerTodos().ToList();
                var internos_lista  = new cIngreso().ObtenerIngresosActivos(GlobalVar.gCentro).Where(w => w.FEC_INGRESO_CERESO.Value.Month == mes && w.FEC_INGRESO_CERESO.Value.Year == anio).ToList();
                var lst_imp         = new List <cPoblacionTerceraEdad>();
                var lst_imp_grafica = new List <cGraficaTerceraEdad>();

                foreach (var item in internos_lista)
                {
                    var interno = lst_internos_causa_penal_delito.Where(w => w.ID_CENTRO == item.ID_CENTRO && w.ID_ANIO == item.ID_ANIO && w.ID_IMPUTADO == item.ID_IMPUTADO && w.ID_INGRESO == w.ID_INGRESO).FirstOrDefault();
                    if (interno == null)
                    {
                        var bday = new Fechas().CalculaEdad(item.IMPUTADO.NACIMIENTO_FECHA.HasValue ? item.IMPUTADO.NACIMIENTO_FECHA : Fechas.GetFechaDateServer);
                        //DateTime now = DateTime.Today;
                        //int age = now.Year - bday.Value.Year;
                        //if (now < bday.Value.AddYears(age)) age--;


                        if (bday >= tercera_Edad)
                        {
                            if (bday >= 30 && bday <= 40)
                            {
                                var obj = new cPoblacionTerceraEdad();
                                obj.Edad             = bday.ToString();
                                obj.Rango            = "30 a 40";//age.ToString();//item.CAUSA_PENAL.INGRESO.IMPUTADO.ETNIA.DESCR;
                                obj.Causa            = "Sin Fuero";
                                obj.SinFueroProcMasc = item.ID_CLASIFICACION_JURIDICA == "2" && item.IMPUTADO.SEXO == "M" ? 1 : 0;
                                lst_imp.Add(obj);
                            }
                            if (bday > 40 && bday <= 50)
                            {
                                var obj = new cPoblacionTerceraEdad();
                                obj.Edad             = bday.ToString();
                                obj.Rango            = "40 a 50";//age.ToString();//item.CAUSA_PENAL.INGRESO.IMPUTADO.ETNIA.DESCR;
                                obj.Causa            = "Sin Fuero";
                                obj.SinFueroProcMasc = item.ID_CLASIFICACION_JURIDICA == "2" && item.IMPUTADO.SEXO == "M" ? 1 : 0;
                                lst_imp.Add(obj);
                            }
                            if (bday > 50 && bday <= 60)
                            {
                                var obj = new cPoblacionTerceraEdad();
                                obj.Edad             = bday.ToString();
                                obj.Rango            = "50 a 60";//age.ToString();//item.CAUSA_PENAL.INGRESO.IMPUTADO.ETNIA.DESCR;
                                obj.Causa            = "Sin Fuero";
                                obj.SinFueroProcMasc = item.ID_CLASIFICACION_JURIDICA == "2" && item.IMPUTADO.SEXO == "M" ? 1 : 0;
                                lst_imp.Add(obj);
                            }
                            if (bday > 60)
                            {
                                var obj = new cPoblacionTerceraEdad();
                                obj.Edad             = bday.ToString();
                                obj.Rango            = "Mayor de 60";//age.ToString();//item.CAUSA_PENAL.INGRESO.IMPUTADO.ETNIA.DESCR;
                                obj.Causa            = "Sin Fuero";
                                obj.SinFueroProcMasc = item.ID_CLASIFICACION_JURIDICA == "2" && item.IMPUTADO.SEXO == "M" ? 1 : 0;
                                lst_imp.Add(obj);
                            }
                        }
                    }
                }

                foreach (var item in lst_internos_causa_penal_delito)
                {
                    var interno = internos_lista.Where(w => w.ID_CENTRO == item.ID_CENTRO && w.ID_ANIO == item.ID_ANIO && w.ID_IMPUTADO == item.ID_IMPUTADO && w.ID_INGRESO == w.ID_INGRESO).FirstOrDefault();
                    if (interno != null)
                    {
                        var      bday = interno.IMPUTADO.NACIMIENTO_FECHA;
                        DateTime now  = DateTime.Today;
                        int      age  = now.Year - bday.Value.Year;
                        if (now < bday.Value.AddYears(age))
                        {
                            age--;
                        }

                        if (age >= tercera_Edad)
                        {
                            if (item.CAUSA_PENAL.ID_ESTATUS_CP.Value == 1 && item.ID_FUERO == "C")
                            {
                                if (age >= 30 && age <= 40)
                                {
                                    var obj = new cPoblacionTerceraEdad();
                                    obj.Edad           = age.ToString();
                                    obj.Rango          = "30 a 40";//age.ToString();//item.CAUSA_PENAL.INGRESO.IMPUTADO.ETNIA.DESCR;
                                    obj.Causa          = "Comun";
                                    obj.ComunImpMasc   = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" && item.CAUSA_PENAL.INGRESO.NUC == null && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    obj.ComunIndicMasc = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    obj.ComunProcMasc  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "2" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    obj.ComunSentMasc  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "3" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    lst_imp.Add(obj);
                                }
                                if (age > 40 && age <= 50)
                                {
                                    var obj = new cPoblacionTerceraEdad();
                                    obj.Edad           = age.ToString();
                                    obj.Rango          = "40 a 50";//age.ToString();//item.CAUSA_PENAL.INGRESO.IMPUTADO.ETNIA.DESCR;
                                    obj.Causa          = "Comun";
                                    obj.ComunImpMasc   = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" && item.CAUSA_PENAL.INGRESO.NUC == null && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    obj.ComunIndicMasc = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    obj.ComunProcMasc  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "2" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    obj.ComunSentMasc  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "3" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    lst_imp.Add(obj);
                                }
                                if (age > 50 && age <= 60)
                                {
                                    var obj = new cPoblacionTerceraEdad();
                                    obj.Edad           = age.ToString();
                                    obj.Rango          = "50 a 60";//age.ToString();//item.CAUSA_PENAL.INGRESO.IMPUTADO.ETNIA.DESCR;
                                    obj.Causa          = "Comun";
                                    obj.ComunImpMasc   = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" && item.CAUSA_PENAL.INGRESO.NUC == null && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    obj.ComunIndicMasc = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    obj.ComunProcMasc  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "2" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    obj.ComunSentMasc  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "3" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    lst_imp.Add(obj);
                                }
                                if (age > 60)
                                {
                                    var obj = new cPoblacionTerceraEdad();
                                    obj.Edad           = age.ToString();
                                    obj.Rango          = "Mayor de 60";//age.ToString();//item.CAUSA_PENAL.INGRESO.IMPUTADO.ETNIA.DESCR;
                                    obj.Causa          = "Comun";
                                    obj.ComunImpMasc   = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" && item.CAUSA_PENAL.INGRESO.NUC == null && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    obj.ComunIndicMasc = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    obj.ComunProcMasc  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "2" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    obj.ComunSentMasc  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "3" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    lst_imp.Add(obj);
                                }
                            }
                            if (item.CAUSA_PENAL.ID_ESTATUS_CP.Value == 1 && item.ID_FUERO == "F")
                            {
                                if (age >= 30 && age <= 40)
                                {
                                    var obj = new cPoblacionTerceraEdad();
                                    obj.Edad            = age.ToString();
                                    obj.Rango           = "30 a 40";//age.ToString();
                                    obj.Causa           = "Federal";
                                    obj.FederalProcFem  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "2" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "F" ? 1 : 0;
                                    obj.FederalProcMasc = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "2" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    obj.FederalSentFem  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "3" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "F" ? 1 : 0;
                                    obj.FederalSentMasc = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "3" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    lst_imp.Add(obj);
                                }
                                if (age > 40 && age <= 50)
                                {
                                    var obj = new cPoblacionTerceraEdad();
                                    obj.Edad            = age.ToString();
                                    obj.Rango           = "40 a 50";//age.ToString();
                                    obj.Causa           = "Federal";
                                    obj.FederalProcFem  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "2" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "F" ? 1 : 0;
                                    obj.FederalProcMasc = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "2" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    obj.FederalSentFem  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "3" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "F" ? 1 : 0;
                                    obj.FederalSentMasc = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "3" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    lst_imp.Add(obj);
                                }
                                if (age > 50 && age <= 60)
                                {
                                    var obj = new cPoblacionTerceraEdad();
                                    obj.Edad            = age.ToString();
                                    obj.Rango           = "50 a 60";//age.ToString();
                                    obj.Causa           = "Federal";
                                    obj.FederalProcFem  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "2" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "F" ? 1 : 0;
                                    obj.FederalProcMasc = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "2" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    obj.FederalSentFem  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "3" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "F" ? 1 : 0;
                                    obj.FederalSentMasc = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "3" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    lst_imp.Add(obj);
                                }
                                if (age > 60)
                                {
                                    var obj = new cPoblacionTerceraEdad();
                                    obj.Edad            = age.ToString();
                                    obj.Rango           = "Mayor de 60";//age.ToString();
                                    obj.Causa           = "Federal";
                                    obj.FederalProcFem  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "2" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "F" ? 1 : 0;
                                    obj.FederalProcMasc = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "2" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    obj.FederalSentFem  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "3" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "F" ? 1 : 0;
                                    obj.FederalSentMasc = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "3" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                                    lst_imp.Add(obj);
                                }
                            }
                        }
                    }
                }
                foreach (var item in lst_imp)
                {
                    if (item.Causa == "Comun")
                    {
                        if (item.ComunImpMasc > 0)
                        {
                            var obj = new cGraficaTerceraEdad();
                            obj.Rango  = item.Rango;
                            obj.Causa  = "Comun Imputado";
                            obj.Comun += item.ComunImpMasc;

                            lst_imp_grafica.Add(obj);
                        }
                        if (item.ComunIndicMasc > 0)
                        {
                            var obj = new cGraficaTerceraEdad();
                            obj.Rango  = item.Rango;
                            obj.Causa  = "Comun Indiciado";
                            obj.Comun += item.ComunIndicMasc;

                            lst_imp_grafica.Add(obj);
                        }
                        if (item.ComunProcMasc > 0)
                        {
                            var obj = new cGraficaTerceraEdad();
                            obj.Rango  = item.Rango;
                            obj.Causa  = "Comun Procesado";
                            obj.Comun += item.ComunProcMasc;

                            lst_imp_grafica.Add(obj);
                        }
                        if (item.ComunSentMasc > 0)
                        {
                            var obj = new cGraficaTerceraEdad();
                            obj.Rango  = item.Rango;
                            obj.Causa  = "Comun Sentenciado";
                            obj.Comun += item.ComunSentMasc;

                            lst_imp_grafica.Add(obj);
                        }
                    }
                    if (item.Causa == "Federal")
                    {
                        if (item.FederalProcMasc > 0)
                        {
                            var obj = new cGraficaTerceraEdad();
                            obj.Rango  = item.Rango;
                            obj.Causa  = "Federal Procesado";
                            obj.Comun += item.FederalProcMasc + item.FederalProcFem;
                            lst_imp_grafica.Add(obj);
                        }
                        if (item.FederalSentMasc > 0)
                        {
                            var obj = new cGraficaTerceraEdad();
                            obj.Rango  = item.Rango;
                            obj.Causa  = "Federal Sentenciado";
                            obj.Comun += item.FederalSentMasc + item.FederalSentFem;
                            lst_imp_grafica.Add(obj);
                        }
                    }
                    if (item.Causa == "Sin Fuero")
                    {
                        if (item.SinFueroProcMasc > 0)
                        {
                            var obj = new cGraficaTerceraEdad();
                            obj.Rango  = item.Rango;
                            obj.Causa  = "Sin Fuero Procesado";
                            obj.Comun += item.SinFueroProcMasc;
                            lst_imp_grafica.Add(obj);
                        }
                    }
                }
                var results = lst_imp.GroupBy(n => n.Rango).
                              Select(group =>
                                     new
                {
                    Rango = group.Key,
                    Sexo  = group.ToList(),
                });

                var lst_imp2 = new List <cPoblacionTerceraEdad>();
                foreach (var row in results)
                {
                    var obj = new cPoblacionTerceraEdad();
                    obj.Rango = row.Rango;
                    foreach (var item in row.Sexo)
                    {
                        obj.ComunImpMasc     += item.ComunImpMasc;
                        obj.ComunIndicMasc   += item.ComunIndicMasc;
                        obj.ComunProcMasc    += item.ComunProcMasc;
                        obj.ComunSentMasc    += item.ComunSentMasc;
                        obj.FederalProcFem   += item.FederalProcFem;
                        obj.FederalProcMasc  += item.FederalProcMasc;
                        obj.FederalSentFem   += item.FederalSentFem;
                        obj.FederalSentMasc  += item.FederalSentMasc;
                        obj.SinFueroProcMasc += item.SinFueroProcMasc;
                    }
                    lst_imp2.Add(obj);
                }
                Reporte.LocalReport.ReportPath = "../../Reportes/rPoblacionTerceraEdad.rdlc";
                Reporte.LocalReport.DataSources.Clear();

                ReportDataSource rds1 = new ReportDataSource();
                rds1.Name  = "DataSet1";
                rds1.Value = datosReporte;
                Reporte.LocalReport.DataSources.Add(rds1);

                ReportDataSource rds2 = new ReportDataSource();
                rds2.Name  = "DataSet2";
                rds2.Value = lst_imp2;
                Reporte.LocalReport.DataSources.Add(rds2);

                ReportDataSource rds3 = new ReportDataSource();
                rds3.Name  = "DataSet3";
                rds3.Value = lst_imp_grafica;
                Reporte.LocalReport.DataSources.Add(rds3);

                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    Reporte.Refresh();
                    Reporte.RefreshReport();
                }));
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al generar reporte.", ex);
            }
        }
Esempio n. 30
0
        private void GenerarReporte()
        {
            try
            {
                //NOTA: ANIO TEMPORALMENTE FIJO SOLO PARA PRUEBAS DEBIDO A QUE NO HAY REGISTROS PARA EL ANIO 2016
                //DESCOMENTAR MAS ADELANTE
                //var mes = Fechas.GetFechaDateServer.Month;
                //var anio = Fechas.GetFechaDateServer.Year;
                var         fecha        = Fechas.GetFechaDateServer;
                CultureInfo cultura      = new CultureInfo("es-MX");
                var         datosReporte = new List <cReporteDatos>();
                datosReporte.Add(new cReporteDatos()
                {
                    Encabezado1 = Parametro.ENCABEZADO1,
                    Encabezado2 = Parametro.ENCABEZADO2,
                    Encabezado3 = Parametro.ENCABEZADO3,
                    Logo1       = Parametro.REPORTE_LOGO1,
                    Logo2       = Parametro.REPORTE_LOGO2,
                    Titulo      = string.Format("Población {0} del {1}", cultura.DateTimeFormat.GetMonthName(fecha.Month), fecha.Year),
                });
                var lst_internos_causa_penal_delito = new cCausaPenalDelito().ObtenerTodos().ToList();
                var internos_lista    = new cIngreso().ObtenerIngresosActivos(GlobalVar.gCentro).ToList();//.Where(w => w.FEC_INGRESO_CERESO.Value.Year == anio && w.FEC_INGRESO_CERESO.Value.Month == mes).ToList();
                var lst_imp           = new List <cPoblacion>();
                var lst_imp_grafica   = new List <cGraficaPoblacionM>();
                var lst_imp_grafica_f = new List <cGraficaPoblacionF>();

                foreach (var item in internos_lista)
                {
                    var interno = lst_internos_causa_penal_delito.Where(w => w.ID_CENTRO == item.ID_CENTRO && w.ID_ANIO == item.ID_ANIO && w.ID_IMPUTADO == item.ID_IMPUTADO && w.ID_INGRESO == w.ID_INGRESO)
                                  .FirstOrDefault();
                    if (interno == null)
                    {
                        var obj = new cPoblacion();
                        obj.Fuero = "Sin Fuero";//item.CAUSA_PENAL == null ? string.Empty : item.IMPUTADO.ENTIDAD.DESCR;
                        //obj.Causa = "Sin Fuero";
                        obj.ImpFem    = item.ID_CLASIFICACION_JURIDICA == "I" && item.NUC == null && item.IMPUTADO.SEXO == "F" ? 1 : 0;
                        obj.ImpMasc   = item.ID_CLASIFICACION_JURIDICA == "I" && item.NUC == null && item.IMPUTADO.SEXO == "M" ? 1 : 0;
                        obj.IndicFem  = item.ID_CLASIFICACION_JURIDICA == "I" && item.IMPUTADO.SEXO == "F" ? 1 : 0;
                        obj.IndicMasc = item.ID_CLASIFICACION_JURIDICA == "I" && item.IMPUTADO.SEXO == "M" ? 1 : 0;
                        obj.ProcFem   = item.ID_CLASIFICACION_JURIDICA == "2" && item.IMPUTADO.SEXO == "F" ? 1 : 0;
                        obj.ProcMasc  = item.ID_CLASIFICACION_JURIDICA == "2" && item.IMPUTADO.SEXO == "M" ? 1 : 0;
                        obj.SentFem   = item.ID_CLASIFICACION_JURIDICA == "3" && item.IMPUTADO.SEXO == "F" ? 1 : 0;
                        obj.SentMasc  = item.ID_CLASIFICACION_JURIDICA == "3" && item.IMPUTADO.SEXO == "M" ? 1 : 0;
                        lst_imp.Add(obj);
                    }
                }

                foreach (var item in lst_internos_causa_penal_delito)
                {
                    var interno = internos_lista.Where(w => w.ID_CENTRO == item.ID_CENTRO && w.ID_ANIO == item.ID_ANIO && w.ID_IMPUTADO == item.ID_IMPUTADO && w.ID_INGRESO == w.ID_INGRESO).FirstOrDefault();
                    if (interno != null)
                    {
                        if (item.CAUSA_PENAL.ID_ESTATUS_CP.Value == 1 && item.ID_FUERO == "C")
                        {
                            var obj = new cPoblacion();
                            obj.Fuero = "Comun";//item.CAUSA_PENAL.INGRESO.IMPUTADO.ENTIDAD.DESCR;
                            //obj.Causa = "Comun";
                            obj.ImpFem    = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" && item.CAUSA_PENAL.INGRESO.NUC == null && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "F" ? 1 : 0;
                            obj.ImpMasc   = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" && item.CAUSA_PENAL.INGRESO.NUC == null && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                            obj.IndicFem  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "F" ? 1 : 0;
                            obj.IndicMasc = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                            obj.ProcFem   = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "2" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "F" ? 1 : 0;
                            obj.ProcMasc  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "2" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                            obj.SentFem   = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "3" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "F" ? 1 : 0;
                            obj.SentMasc  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "3" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                            lst_imp.Add(obj);
                        }
                        else if (item.CAUSA_PENAL.ID_ESTATUS_CP.Value == 1 && item.ID_FUERO == "F")
                        {
                            var obj = new cPoblacion();
                            obj.Fuero = "Federal";
                            //obj.Causa = "Federal";
                            obj.ImpFem    = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" && item.CAUSA_PENAL.INGRESO.NUC == null && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "F" ? 1 : 0;
                            obj.ImpMasc   = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" && item.CAUSA_PENAL.INGRESO.NUC == null && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                            obj.IndicFem  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "F" ? 1 : 0;
                            obj.IndicMasc = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "I" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                            obj.ProcFem   = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "2" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "F" ? 1 : 0;
                            obj.ProcMasc  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "2" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                            obj.SentFem   = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "3" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "F" ? 1 : 0;
                            obj.SentMasc  = item.CAUSA_PENAL.INGRESO.ID_CLASIFICACION_JURIDICA == "3" && item.CAUSA_PENAL.INGRESO.IMPUTADO.SEXO == "M" ? 1 : 0;
                            lst_imp.Add(obj);
                        }
                    }
                }
                //Para alimentar grafica Masculino
                foreach (var item in lst_imp)
                {
                    if (item.Fuero == "Comun")
                    {
                        if (item.ImpMasc > 0)
                        {
                            var obj = new cGraficaPoblacionM();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Imputado";
                            obj.Comun += item.ImpMasc;
                            lst_imp_grafica.Add(obj);
                        }
                        if (item.IndicMasc > 0)
                        {
                            var obj = new cGraficaPoblacionM();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Indiciado";
                            obj.Comun += item.IndicMasc;
                            lst_imp_grafica.Add(obj);
                        }
                        if (item.ProcMasc > 0)
                        {
                            var obj = new cGraficaPoblacionM();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Procesado";
                            obj.Comun += item.ProcMasc;
                            lst_imp_grafica.Add(obj);
                        }
                        if (item.SentMasc > 0)
                        {
                            var obj = new cGraficaPoblacionM();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Sentenciado";
                            obj.Comun += item.SentMasc;
                            lst_imp_grafica.Add(obj);
                        }
                    }
                    if (item.Fuero == "Federal")
                    {
                        if (item.ImpMasc > 0)
                        {
                            var obj = new cGraficaPoblacionM();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Imputado";
                            obj.Comun += item.ImpMasc;
                            lst_imp_grafica.Add(obj);
                        }
                        if (item.IndicMasc > 0)
                        {
                            var obj = new cGraficaPoblacionM();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Indiciado";
                            obj.Comun += item.IndicMasc;
                            lst_imp_grafica.Add(obj);
                        }
                        if (item.ProcMasc > 0)
                        {
                            var obj = new cGraficaPoblacionM();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Procesado";
                            obj.Comun += item.ProcMasc;
                            lst_imp_grafica.Add(obj);
                        }
                        if (item.SentMasc > 0)
                        {
                            var obj = new cGraficaPoblacionM();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Sentenciado";
                            obj.Comun += item.SentMasc;
                            lst_imp_grafica.Add(obj);
                        }
                    }
                    if (item.Fuero == "Sin Fuero")
                    {
                        if (item.ImpMasc > 0)
                        {
                            var obj = new cGraficaPoblacionM();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Imputado";
                            obj.Comun += item.ImpMasc;
                            lst_imp_grafica.Add(obj);
                        }
                        if (item.IndicMasc > 0)
                        {
                            var obj = new cGraficaPoblacionM();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Indiciado";
                            obj.Comun += item.IndicMasc;
                            lst_imp_grafica.Add(obj);
                        }
                        if (item.ProcMasc > 0)
                        {
                            var obj = new cGraficaPoblacionM();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Procesado";
                            obj.Comun += item.ProcMasc;
                            lst_imp_grafica.Add(obj);
                        }
                        if (item.SentMasc > 0)
                        {
                            var obj = new cGraficaPoblacionM();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Sentenciado";
                            obj.Comun += item.SentMasc;
                            lst_imp_grafica.Add(obj);
                        }
                    }
                }
                //Para alimentar grafica Femenino
                foreach (var item in lst_imp)
                {
                    if (item.Fuero == "Comun")
                    {
                        if (item.ImpFem > 0)
                        {
                            var obj = new cGraficaPoblacionF();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Imputado";
                            obj.Comun += item.ImpFem;
                            lst_imp_grafica_f.Add(obj);
                        }
                        if (item.IndicFem > 0)
                        {
                            var obj = new cGraficaPoblacionF();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Indiciado";
                            obj.Comun += item.IndicFem;
                            lst_imp_grafica_f.Add(obj);
                        }
                        if (item.ProcFem > 0)
                        {
                            var obj = new cGraficaPoblacionF();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Procesado";
                            obj.Comun += item.ProcFem;
                            lst_imp_grafica_f.Add(obj);
                        }
                        if (item.SentFem > 0)
                        {
                            var obj = new cGraficaPoblacionF();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Sentenciado";
                            obj.Comun += item.SentFem;
                            lst_imp_grafica_f.Add(obj);
                        }
                    }
                    if (item.Fuero == "Federal")
                    {
                        if (item.ImpFem > 0)
                        {
                            var obj = new cGraficaPoblacionF();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Imputado";
                            obj.Comun += item.ImpFem;
                            lst_imp_grafica_f.Add(obj);
                        }
                        if (item.IndicFem > 0)
                        {
                            var obj = new cGraficaPoblacionF();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Indiciado";
                            obj.Comun += item.IndicFem;
                            lst_imp_grafica_f.Add(obj);
                        }
                        if (item.ProcFem > 0)
                        {
                            var obj = new cGraficaPoblacionF();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Procesado";
                            obj.Comun += item.ProcFem;
                            lst_imp_grafica_f.Add(obj);
                        }
                        if (item.SentFem > 0)
                        {
                            var obj = new cGraficaPoblacionF();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Sentenciado";
                            obj.Comun += item.SentFem;
                            lst_imp_grafica_f.Add(obj);
                        }
                    }
                    if (item.Fuero == "Sin Fuero")
                    {
                        if (item.ImpFem > 0)
                        {
                            var obj = new cGraficaPoblacionF();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Imputado";
                            obj.Comun += item.ImpFem;
                            lst_imp_grafica_f.Add(obj);
                        }
                        if (item.IndicFem > 0)
                        {
                            var obj = new cGraficaPoblacionF();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Indiciado";
                            obj.Comun += item.IndicFem;
                            lst_imp_grafica_f.Add(obj);
                        }
                        if (item.ProcFem > 0)
                        {
                            var obj = new cGraficaPoblacionF();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Procesado";
                            obj.Comun += item.ProcFem;
                            lst_imp_grafica_f.Add(obj);
                        }
                        if (item.SentFem > 0)
                        {
                            var obj = new cGraficaPoblacionF();
                            obj.Fuero  = item.Fuero;
                            obj.Causa  = "Sentenciado";
                            obj.Comun += item.SentFem;
                            lst_imp_grafica_f.Add(obj);
                        }
                    }
                }
                var results = lst_imp.GroupBy(n => n.Fuero).
                              Select(group =>
                                     new
                {
                    Fuero = group.Key,
                    Sexo  = group.ToList(),
                });

                var lst_imp2 = new List <cPoblacion>();
                foreach (var row in results)
                {
                    var obj = new cPoblacion();
                    obj.Fuero = row.Fuero;
                    foreach (var item in row.Sexo)
                    {
                        obj.ImpFem    += item.ImpFem;
                        obj.ImpMasc   += item.ImpMasc;
                        obj.IndicFem  += item.IndicFem;
                        obj.IndicMasc += item.IndicMasc;
                        obj.ProcFem   += item.ProcFem;
                        obj.ProcMasc  += item.ProcMasc;
                        obj.SentFem   += item.SentFem;
                        obj.SentMasc  += item.SentMasc;
                    }
                    lst_imp2.Add(obj);
                }
                Reporte.LocalReport.ReportPath = "Reportes/rPoblacion.rdlc";
                Reporte.LocalReport.DataSources.Clear();

                ReportDataSource rds1 = new ReportDataSource();
                rds1.Name  = "DataSet1";
                rds1.Value = datosReporte;
                Reporte.LocalReport.DataSources.Add(rds1);

                ReportDataSource rds2 = new ReportDataSource();
                rds2.Name  = "DataSet2";
                rds2.Value = lst_imp2.OrderBy(o => o.Fuero);
                Reporte.LocalReport.DataSources.Add(rds2);

                ReportDataSource rds3 = new ReportDataSource();
                rds3.Name  = "DataSet3";
                rds3.Value = lst_imp_grafica_f;
                Reporte.LocalReport.DataSources.Add(rds3);

                ReportDataSource rds4 = new ReportDataSource();
                rds4.Name  = "DataSet4";
                rds4.Value = lst_imp_grafica;
                Reporte.LocalReport.DataSources.Add(rds4);

                Application.Current.Dispatcher.Invoke((Action)(delegate
                {
                    Reporte.Refresh();
                    Reporte.RefreshReport();
                }));
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al generar reporte.", ex);
            }
        }