Ejemplo n.º 1
0
        public BusquedaHuellaViewModel(enumTipoPersona tipobusqueda, bool?set442 = null, bool GuardarHuellas = false)
        {
            BuscarPor       = tipobusqueda;
            Conectado       = set442.HasValue ? set442.Value : false;
            ShowCapturar    = set442.HasValue ? set442.Value ? Visibility.Visible : Visibility.Collapsed : Visibility.Collapsed;
            _GuardarHuellas = GuardarHuellas;
            switch (tipobusqueda)
            {
            case enumTipoPersona.IMPUTADO:
                CabeceraBusqueda = "Datos del Imputado";
                CabeceraFoto     = "Foto Imputado";
                break;

            case enumTipoPersona.PERSONA_VISITA:
            case enumTipoPersona.PERSONA_EXTERNA:
                CabeceraBusqueda = "Datos de la Persona";
                CabeceraFoto     = "Foto Persona";
                break;

            case enumTipoPersona.PERSONA_ABOGADO:
                CabeceraBusqueda = "Datos del Abogado";
                CabeceraFoto     = "Foto Abogado";
                break;

            case enumTipoPersona.PERSONA_EMPLEADO:
                CabeceraBusqueda = "Datos del Empleado";
                CabeceraFoto     = "Foto Empleado";
                break;

            default:
                break;
            }
        }
Ejemplo n.º 2
0
        private void ConstructorHuella(enumTipoPersona tipobusqueda, bool?set442 = null, bool GuardarHuellas = false)
        {
            try
            {
                BuscarPor       = tipobusqueda;
                Conectado       = set442.HasValue ? set442.Value : false;
                ShowCapturar    = set442.HasValue ? set442.Value ? Visibility.Visible : Visibility.Collapsed : Visibility.Collapsed;
                _GuardarHuellas = GuardarHuellas;
                switch (tipobusqueda)
                {
                case enumTipoPersona.IMPUTADO:
                    CabeceraBusqueda = "Datos del Imputado";
                    CabeceraFoto     = "Foto Imputado";
                    break;

                case enumTipoPersona.PERSONA_VISITA:
                case enumTipoPersona.PERSONA_EXTERNA:
                    CabeceraBusqueda = "Datos de la Persona";
                    CabeceraFoto     = "Foto Persona";
                    break;

                case enumTipoPersona.PERSONA_ABOGADO:
                    CabeceraBusqueda = "Datos del Abogado";
                    CabeceraFoto     = "Foto Abogado";
                    break;

                case enumTipoPersona.PERSONA_EMPLEADO:
                    CabeceraBusqueda = "Datos del Empleado";
                    CabeceraFoto     = "Foto Empleado";
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al cargar datos de la busqueda por huella.", ex);
            }
        }
        public LeerCustodioEdificioViewModel(enumTipoPersona tipobusqueda, bool?set442 = null, bool GuardarHuellas = false, short?IdEdificio = 0, short?IdSector = 0)
        {
            ListaCustodio       = new List <ResultadoBusquedaBiometricoCustodio>();
            Buscar              = tipobusqueda;
            Conect              = set442.HasValue ? set442.Value : false;
            CapturarShow        = set442.HasValue ? set442.Value ? Visibility.Visible : Visibility.Collapsed : Visibility.Collapsed;
            this.GuardarHuellas = GuardarHuellas;
            this.IdEdificio     = IdEdificio;
            this.IdSector       = IdSector;
            FondoBackSpaceNIP   = new SolidColorBrush(Colors.Green);
            FondoLimpiarNIP     = new SolidColorBrush(Colors.Crimson);
            switch (tipobusqueda)
            {
            case enumTipoPersona.PERSONA_EMPLEADO:
                BusquedaCabecera = "Datos del Custodio";
                FotoCabecera     = "Foto del Custodio";
                break;

            default:
                break;
            }
        }
Ejemplo n.º 4
0
        public async void GenerarReporte()
        {
            try
            {
                var lVisitas      = new List <cControlVisita>();
                var datosReporte  = new List <cReporteDatos>();
                var VisitasGenero = new List <cVisitantesGenero>();

                await StaticSourcesViewModel.CargarDatosMetodoAsync(() =>
                {
                    Application.Current.Dispatcher.Invoke((Action)(delegate
                    {
                        ReportViewerVisible = Visibility.Collapsed;
                    }));
                    var centro = new cCentro().Obtener(GlobalVar.gCentro).FirstOrDefault();

                    var totales = new List <cControlVisitaTotales>();
                    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 consulta_cama = new cCama();

                    double Total_Resultados = new cAduana().
                                              ObtenerVisitas(SelectedFechaInicial, SelectedFechaFinal, Parametro.CONTROL_VISITANTES_REPORTE).Count();
                    var Paginas = Math.Abs(Total_Resultados - (int)Total_Resultados) < double.Epsilon ? ((int)((Total_Resultados / VISITANTES_POR_PAGINA) + 1)) : ((int)(Total_Resultados / VISITANTES_POR_PAGINA));

                    for (int i = 0; i < Paginas; i++)
                    {
                        lVisitas.AddRange(new cAduana().
                                          ObtenerVisitas(SelectedFechaInicial, SelectedFechaFinal, Parametro.CONTROL_VISITANTES_REPORTE).OrderBy(o => o.ID_ADUANA).Skip(ULTIMO_REGISTRO).Take(VISITANTES_POR_PAGINA).
                                          AsEnumerable().
                                          Select(s => new cControlVisita()
                        {
                            Hora_Ingreso    = string.Format("{0}:{1}", s.ENTRADA_FEC.Value.Hour < 10 ? string.Format("0{0}", s.ENTRADA_FEC.Value.Hour.ToString()) : s.ENTRADA_FEC.Value.Hour.ToString(), s.ENTRADA_FEC.Value.Minute < 10 ? string.Format("0{0}", s.ENTRADA_FEC.Value.Minute.ToString()) : s.ENTRADA_FEC.Value.Minute.ToString()),
                            Hora_Salida     = s.SALIDA_FEC.HasValue ? string.Format("{0}:{1}", s.SALIDA_FEC.Value.Hour < 10 ? string.Format("0{0}", s.SALIDA_FEC.Value.Hour.ToString()) : s.SALIDA_FEC.Value.Hour.ToString(), s.SALIDA_FEC.Value.Minute < 10 ? string.Format("0{0}", s.SALIDA_FEC.Value.Minute.ToString()) : s.SALIDA_FEC.Value.Minute.ToString()) : string.Empty,
                            Centro          = s.ADUANA_INGRESO.Any() ? s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().ID_CENTRO : new short(),
                            Id_Anio         = s.ADUANA_INGRESO.Any() ? s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().ID_ANIO : new short(),
                            Id_Imputado     = s.ADUANA_INGRESO.Any() ? s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().ID_IMPUTADO : new short(),
                            Id_Persona      = s.ID_PERSONA,
                            Paterno_Ingreso = s.ADUANA_INGRESO.Any() ? !string.IsNullOrEmpty(s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().INGRESO.IMPUTADO.PATERNO) ?
                                              s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().INGRESO.IMPUTADO.PATERNO.TrimEnd() : string.Empty : string.Empty,
                            Materno_Ingreso = s.ADUANA_INGRESO.Any() ? !string.IsNullOrEmpty(s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().INGRESO.IMPUTADO.MATERNO) ?
                                              s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().INGRESO.IMPUTADO.MATERNO.TrimEnd() : string.Empty : string.Empty,
                            Nombre_Ingreso = s.ADUANA_INGRESO.Any() ? !string.IsNullOrEmpty(s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().INGRESO.IMPUTADO.NOMBRE) ?
                                             s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().INGRESO.IMPUTADO.NOMBRE.TrimEnd() : string.Empty : string.Empty,
                            Ubicacion_Ingreso = new Func <string>(() =>
                            {
                                var ingreso = s.ADUANA_INGRESO.Any() ? s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().INGRESO : null;

                                if (ingreso != null)
                                {
                                    if (ingreso.ID_UB_CENTRO != null &&
                                        ingreso.ID_UB_EDIFICIO != null &&
                                        ingreso.ID_UB_SECTOR != null &&
                                        ingreso.ID_UB_CELDA != null &&
                                        ingreso.ID_UB_CAMA != null)
                                    {
                                        var cama = consulta_cama.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);
                                        if (cama != null)
                                        {
                                            return(string.Format("{0}-{1}-{2}",
                                                                 cama.CELDA != null ? cama.CELDA.SECTOR != null ? cama.CELDA.SECTOR.EDIFICIO != null ? !string.IsNullOrEmpty(cama.CELDA.SECTOR.EDIFICIO.DESCR) ? cama.CELDA.SECTOR.EDIFICIO.DESCR.TrimEnd() : string.Empty : string.Empty : string.Empty : string.Empty,
                                                                 cama.CELDA != null ? cama.CELDA.SECTOR != null ? !string.IsNullOrEmpty(cama.CELDA.SECTOR.DESCR) ? cama.CELDA.SECTOR.DESCR.TrimEnd() : string.Empty : string.Empty : string.Empty,
                                                                 cama.CELDA != null ? cama.CELDA.ID_CELDA.TrimStart().TrimEnd() : string.Empty));
                                        }
                                    }
                                }
                                return(string.Empty);
                            })(),
                            Usuario           = s.USUARIO != null ? s.USUARIO.ID_USUARIO : string.Empty,
                            Paterno_Visitante = s.PERSONA != null ? !string.IsNullOrEmpty(s.PERSONA.PATERNO) ? s.PERSONA.PATERNO.TrimEnd() : string.Empty : string.Empty,
                            Materno_Visitante = s.PERSONA != null ? !string.IsNullOrEmpty(s.PERSONA.MATERNO) ? s.PERSONA.MATERNO.TrimEnd() : string.Empty : string.Empty,
                            Nombre_Visitante  = s.PERSONA != null ? !string.IsNullOrEmpty(s.PERSONA.NOMBRE) ? s.PERSONA.NOMBRE.TrimEnd() : string.Empty : string.Empty,
                            Tipo_Visita       = new Func <string>(() =>
                            {
                                enumTipoPersona TipoPersona = (enumTipoPersona)s.ID_TIPO_PERSONA;
                                var TipoVisita = string.Empty;
                                switch (TipoPersona)
                                {
                                case enumTipoPersona.ABOGADO:
                                    TipoVisita = string.Format(VISITA_LEGAL + " ({0})", s.TIPO_PERSONA != null ? !string.IsNullOrEmpty(s.TIPO_PERSONA.DESCR) ? s.TIPO_PERSONA.DESCR.TrimEnd() : string.Empty : string.Empty);
                                    break;

                                case enumTipoPersona.VISITA:
                                    TipoVisita = s.ADUANA_INGRESO.Any() ? string.Format("{0}", s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().INTIMA == ES_VISITA_INTIMA ? VISITA_INTIMA : VISITA_FAMILIAR) : string.Empty;
                                    break;
                                }
                                return(TipoVisita);
                            })(),
                            Categoria = ObtenerEdad(s.PERSONA.FEC_NACIMIENTO.Value) < MAYORIA_DE_EDAD ? MENORES : (s.PERSONA.SEXO == FEMENINO ? MUJERES : HOMBRES),
                        }).
                                          ToList());
                        ULTIMO_REGISTRO += VISITANTES_POR_PAGINA;
                    }


                    #region Informacion_Reporte
                    //lVisitas = new cAduana().
                    //    ObtenerVisitas(SelectedFechaInicial, SelectedFechaFinal, Parametro.CONTROL_VISITANTES_REPORTE).
                    //    AsEnumerable().
                    //    Select(s => new cControlVisita()
                    //    {
                    //        Hora_Ingreso = string.Format("{0}:{1}", s.ENTRADA_FEC.Value.Hour < 10 ? string.Format("0{0}", s.ENTRADA_FEC.Value.Hour.ToString()) : s.ENTRADA_FEC.Value.Hour.ToString(), s.ENTRADA_FEC.Value.Minute < 10 ? string.Format("0{0}", s.ENTRADA_FEC.Value.Minute.ToString()) : s.ENTRADA_FEC.Value.Minute.ToString()),
                    //        Hora_Salida = s.SALIDA_FEC.HasValue ? string.Format("{0}:{1}", s.SALIDA_FEC.Value.Hour < 10 ? string.Format("0{0}", s.SALIDA_FEC.Value.Hour.ToString()) : s.SALIDA_FEC.Value.Hour.ToString(), s.SALIDA_FEC.Value.Minute < 10 ? string.Format("0{0}", s.SALIDA_FEC.Value.Minute.ToString()) : s.SALIDA_FEC.Value.Minute.ToString()) : string.Empty,
                    //        Id_Anio = s.ADUANA_INGRESO.Any() ? s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().ID_ANIO : new short(),
                    //        Id_Imputado = s.ADUANA_INGRESO.Any() ? s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().ID_IMPUTADO : new short(),
                    //        Id_Persona = s.ID_PERSONA,
                    //        Paterno_Ingreso = s.ADUANA_INGRESO.Any() ? !string.IsNullOrEmpty(s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().INGRESO.IMPUTADO.PATERNO) ?
                    //                s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().INGRESO.IMPUTADO.PATERNO.TrimEnd() : string.Empty : string.Empty,
                    //        Materno_Ingreso = s.ADUANA_INGRESO.Any() ? !string.IsNullOrEmpty(s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().INGRESO.IMPUTADO.MATERNO) ?
                    //                s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().INGRESO.IMPUTADO.MATERNO.TrimEnd() : string.Empty : string.Empty,
                    //        Nombre_Ingreso = s.ADUANA_INGRESO.Any() ? !string.IsNullOrEmpty(s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().INGRESO.IMPUTADO.NOMBRE) ?
                    //                s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().INGRESO.IMPUTADO.NOMBRE.TrimEnd() : string.Empty : string.Empty,
                    //        Ubicacion_Ingreso = new Func<string>(() =>
                    //        {
                    //            var ingreso = s.ADUANA_INGRESO.Any() ? s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().INGRESO : null;

                    //            if (ingreso != null)
                    //            {
                    //                if (ingreso.ID_UB_CENTRO != null &&
                    //                    ingreso.ID_UB_EDIFICIO != null &&
                    //                    ingreso.ID_UB_SECTOR != null &&
                    //                    ingreso.ID_UB_CELDA != null &&
                    //                    ingreso.ID_UB_CAMA != null)
                    //                {
                    //                    var cama = consulta_cama.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);
                    //                    if (cama != null)
                    //                        return string.Format("{0}-{1}-{2}",
                    //                            cama.CELDA != null ? cama.CELDA.SECTOR != null ? cama.CELDA.SECTOR.EDIFICIO != null ? !string.IsNullOrEmpty(cama.CELDA.SECTOR.EDIFICIO.DESCR) ? cama.CELDA.SECTOR.EDIFICIO.DESCR.TrimEnd() : string.Empty : string.Empty : string.Empty : string.Empty,
                    //                            cama.CELDA != null ? cama.CELDA.SECTOR != null ? !string.IsNullOrEmpty(cama.CELDA.SECTOR.DESCR) ? cama.CELDA.SECTOR.DESCR.TrimEnd() : string.Empty : string.Empty : string.Empty,
                    //                            cama.CELDA != null ? cama.CELDA.ID_CELDA.TrimStart().TrimEnd() : string.Empty);
                    //                }
                    //            }
                    //            return string.Empty;
                    //        })(),
                    //        Usuario = s.USUARIO != null ? s.USUARIO.ID_USUARIO : string.Empty,
                    //        Paterno_Visitante = s.PERSONA != null ? !string.IsNullOrEmpty(s.PERSONA.PATERNO) ? s.PERSONA.PATERNO.TrimEnd() : string.Empty : string.Empty,
                    //        Materno_Visitante = s.PERSONA != null ? !string.IsNullOrEmpty(s.PERSONA.MATERNO) ? s.PERSONA.MATERNO.TrimEnd() : string.Empty : string.Empty,
                    //        Nombre_Visitante = s.PERSONA != null ? !string.IsNullOrEmpty(s.PERSONA.NOMBRE) ? s.PERSONA.NOMBRE.TrimEnd() : string.Empty : string.Empty,
                    //        Tipo_Visita = new Func<string>(() =>
                    //        {
                    //            enumTipoPersona TipoPersona = (enumTipoPersona)s.ID_TIPO_PERSONA;
                    //            var TipoVisita = string.Empty;
                    //            switch (TipoPersona)
                    //            {
                    //                case enumTipoPersona.ABOGADO:
                    //                    TipoVisita = string.Format(VISITA_LEGAL + " ({0})", s.TIPO_PERSONA != null ? !string.IsNullOrEmpty(s.TIPO_PERSONA.DESCR) ? s.TIPO_PERSONA.DESCR.TrimEnd() : string.Empty : string.Empty);
                    //                    break;
                    //                case enumTipoPersona.VISITA:
                    //                    TipoVisita = s.ADUANA_INGRESO.Any() ? string.Format("{0}", s.ADUANA_INGRESO.Where(w => w.ID_ADUANA == s.ID_ADUANA).FirstOrDefault().INTIMA == ES_VISITA_INTIMA ? VISITA_INTIMA : VISITA_FAMILIAR) : string.Empty;
                    //                    break;
                    //            }
                    //            return TipoVisita;
                    //        })(),
                    //        Categoria = ObtenerEdad(s.PERSONA.FEC_NACIMIENTO.Value) < MAYORIA_DE_EDAD ? MENORES : (s.PERSONA.SEXO == FEMENINO ? MUJERES : HOMBRES),
                    //    }).
                    //    ToList();
                    #endregion
                    Application.Current.Dispatcher.Invoke((Action)(delegate
                    {
                        ReportViewerVisible = Visibility.Visible;
                    }));
                });


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

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

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


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

                #region Grafica
                ReporteGrafica.LocalReport.ReportPath = "Reportes/rControlVisitantesGrafica.rdlc";
                ReporteGrafica.LocalReport.DataSources.Clear();

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

                ReportDataSource ReportDataSource_Grafica = new ReportDataSource();
                ReportDataSource_Grafica.Name  = "DataSet3";
                ReportDataSource_Grafica.Value = lVisitas;

                ReporteGrafica.LocalReport.DataSources.Add(ReportDataSource_Encabezado_Grafica);
                ReporteGrafica.LocalReport.DataSources.Add(ReportDataSource_Grafica);
                #endregion

                #region Parametros
                Reporte.LocalReport.SetParameters(new ReportParameter("FechaInicial", string.Format("{0} DE {1} DEL {2}", SelectedFechaInicial.Day, SelectedFechaInicial.Month, SelectedFechaInicial.Year)));
                Reporte.LocalReport.SetParameters(new ReportParameter("FechaFinal", string.Format("{0} DE {1} DEL {2}", SelectedFechaFinal.Day, SelectedFechaFinal.Month, SelectedFechaFinal.Year)));
                ReporteGrafica.LocalReport.SetParameters(new ReportParameter("FechaInicial", string.Format("{0} DE {1} DEL {2}", SelectedFechaInicial.Day, SelectedFechaInicial.Month, SelectedFechaInicial.Year)));
                ReporteGrafica.LocalReport.SetParameters(new ReportParameter("FechaFinal", string.Format("{0} DE {1} DEL {2}", SelectedFechaFinal.Day, SelectedFechaFinal.Month, SelectedFechaFinal.Year)));
                ReporteGrafica.LocalReport.SetParameters(new ReportParameter("TotalVisitantes", lVisitas.Count.ToString()));
                #endregion


                Reporte.Refresh();
                Reporte.RefreshReport();
                ReporteGrafica.Refresh();
                ReporteGrafica.RefreshReport();
            }
            catch (Exception ex)
            {
                throw new ApplicationException(ex.Message);
            }
        }