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 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;
            }
        }
Пример #4
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;
            }
        }