public async void GenerarReporte()
        {
            var lCorrespondencia = new List <cBitacoraCorrepondenciaPoblacionPenitenciaria>();
            var datosReporte     = new List <cReporteDatos>();

            try
            {
                await StaticSourcesViewModel.CargarDatosMetodoAsync(() =>
                {
                    Application.Current.Dispatcher.Invoke((Action)(delegate
                    {
                        ReportViewerVisible = Visibility.Collapsed;
                    }));
                    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 INTERNOS",
                        Logo1       = Parametro.REPORTE_LOGO1,
                        Logo2       = Parametro.REPORTE_LOGO2,
                        Centro      = centro.DESCR.Trim().ToUpper(),
                    });

                    lCorrespondencia = new cCorrespondencia().
                                       ObtenerTodosRecibidos(SelectedFecha).
                                       AsEnumerable().
                                       Select(s =>
                                              new cBitacoraCorrepondenciaPoblacionPenitenciaria()
                    {
                        FechaDeposito = string.Format("{0}/{1}/{2}", s.RECEPCION_FEC.Value.Day, s.RECEPCION_FEC.Value.Month, s.RECEPCION_FEC.Value.Year),
                        FechaEntrega  = s.ENTREGA_FEC.HasValue ? string.Format("{0}/{1}/{2}", s.ENTREGA_FEC.Value.Day, s.ENTREGA_FEC.Value.Month, s.ENTREGA_FEC.Value.Year) : string.Empty,
                        LoginEntrega  = string.Empty,
                        Observaciones = !string.IsNullOrEmpty(s.OBSERV) ? s.OBSERV : string.Empty,

                        Id_Anio         = s.ID_ANIO,
                        Id_Imputado     = s.ID_IMPUTADO,
                        EdificioDescr   = s.INGRESO.CAMA.CELDA.SECTOR.EDIFICIO.DESCR.TrimEnd(),
                        SectorDescr     = s.INGRESO.CAMA.CELDA.SECTOR.DESCR.TrimEnd(),
                        Celda           = s.INGRESO.ID_UB_CELDA.TrimStart().TrimEnd(),
                        Paterno_Ingreso = !string.IsNullOrEmpty(s.INGRESO.IMPUTADO.PATERNO) ? s.INGRESO.IMPUTADO.PATERNO.TrimEnd() : string.Empty,
                        Materno_Ingreso = !string.IsNullOrEmpty(s.INGRESO.IMPUTADO.MATERNO) ? s.INGRESO.IMPUTADO.MATERNO.TrimEnd() : string.Empty,
                        Nombre_Ingreso  = !string.IsNullOrEmpty(s.INGRESO.IMPUTADO.NOMBRE) ? s.INGRESO.IMPUTADO.NOMBRE.TrimEnd() : string.Empty,

                        Materno_Depositante = s.PERSONA != null ? (!string.IsNullOrEmpty(s.PERSONA.MATERNO) ? s.PERSONA.MATERNO.TrimEnd() : string.Empty) : string.Empty,
                        Paterno_Depositante = s.PERSONA != null ? (!string.IsNullOrEmpty(s.PERSONA.PATERNO) ? s.PERSONA.PATERNO.TrimEnd() : string.Empty) : string.Empty,
                        Nombre_Depositante  = s.PERSONA != null ? (!string.IsNullOrEmpty(s.PERSONA.NOMBRE) ? s.PERSONA.NOMBRE.TrimEnd() : string.Empty) : string.Empty,

                        Paterno_Remitente = s.PERSONA1 != null ? (!string.IsNullOrEmpty(s.PERSONA1.PATERNO) ? s.PERSONA1.PATERNO.TrimEnd() : string.Empty) : string.Empty,
                        Materno_Remitente = s.PERSONA1 != null ? (!string.IsNullOrEmpty(s.PERSONA1.MATERNO) ? s.PERSONA1.MATERNO.TrimEnd() : string.Empty) : string.Empty,
                        Nombre_Remitente  = s.PERSONA1 != null ? (!string.IsNullOrEmpty(s.PERSONA1.NOMBRE) ? s.PERSONA1.NOMBRE.TrimEnd() : string.Empty) : string.Empty
                    }).ToList();
                    Application.Current.Dispatcher.Invoke((Action)(delegate
                    {
                        ReportViewerVisible = Visibility.Visible;
                    }));
                });
            }
            catch (Exception ex)
            {
                throw new ApplicationException(ex.Message);
            }


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

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

            ReportDataSource ReportDataSource_Bitacora = new ReportDataSource();
            ReportDataSource_Bitacora.Name  = "DataSet2";
            ReportDataSource_Bitacora.Value = lCorrespondencia;

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

            #region Parametros
            Reporte.LocalReport.SetParameters(new ReportParameter("Fecha", string.Format("{0}/{1}/{2}", SelectedFecha.Month, SelectedFecha.Day, SelectedFecha.Year)));
            #endregion

            Reporte.Refresh();
            Reporte.RefreshReport();
        }
Ejemplo n.º 2
0
        private async void clickSwitch(Object obj)
        {
            switch (obj.ToString())
            {
                #region CORRESPONDENCIA
            case "limpiar_menu":
                ((System.Windows.Controls.ContentControl)PopUpsViewModels.MainWindow.FindName("contentControl")).Content     = new RegistroCorrespondenciaView();
                ((System.Windows.Controls.ContentControl)PopUpsViewModels.MainWindow.FindName("contentControl")).DataContext = new ControlPenales.CorrespondenciasViewModel();
                break;

            case "salir_menu":
                PrincipalViewModel.SalirMenu();
                break;

            case "MarcarRegistro_RegistroCorrespondencia":
                if (!pEditar)
                {
                    new Dialogos().ConfirmacionDialogo("Validación", "Su usuario no tiene privilegios para realizar esta acción");
                    break;
                }
                var dal = new cCorrespondencia();
                foreach (var item in ListSelectRegistroEntrega)
                {
                    dal.Actualizar(new CORRESPONDENCIA
                    {
                        CONFIRMACION_RECIBIDO = "S",
                        ENTREGA_FEC           = Fechas.GetFechaDateServer,
                        ID_ANIO        = item.Correspondencia.ID_ANIO,
                        ID_CENTRO      = item.Correspondencia.ID_CENTRO,
                        ID_CONSEC      = item.Correspondencia.ID_CONSEC,
                        ID_DEPOSITANTE = item.Correspondencia.ID_DEPOSITANTE,
                        ID_EMPLEADO    = item.Correspondencia.ID_EMPLEADO,
                        ID_IMPUTADO    = item.Correspondencia.ID_IMPUTADO,
                        ID_INGRESO     = item.Correspondencia.ID_INGRESO,
                        OBSERV         = item.Correspondencia.OBSERV,
                        RECEPCION_FEC  = item.Correspondencia.RECEPCION_FEC,
                        REMITENTE      = item.Correspondencia.REMITENTE
                    });
                }

                ListSelectRegistroEntrega = new List <RegistroEntrega>();
                CargarDatos();
                break;

            case "Registro_Correspondencia":

                break;

            case "cancelar_RegistroCorrespondencia":
                DepPaterno           = string.Empty;
                DepMaterno           = string.Empty;
                DepNombre            = string.Empty;
                DesPaterno           = string.Empty;
                DesMaterno           = string.Empty;
                DesNombre            = string.Empty;
                UbicacionFisica      = string.Empty;
                Remitente            = string.Empty;
                ObservacionRecepcion = string.Empty;

                OnPropertyChanged("UsuarioRecepcion");
                OnPropertyChanged("FechaRegistroCorrespondencia");
                OnPropertyChanged("HoraRegistro");
                //PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.REGISTRO_CORRESPONDENCIA);
                break;

            case "LimpiarRegistroCorrespondencia":
                DepPaterno           = string.Empty;
                DepMaterno           = string.Empty;
                DepNombre            = string.Empty;
                DesPaterno           = string.Empty;
                DesMaterno           = string.Empty;
                DesNombre            = string.Empty;
                UbicacionFisica      = string.Empty;
                Remitente            = string.Empty;
                ObservacionRecepcion = string.Empty;

                OnPropertyChanged("UsuarioRecepcion");
                OnPropertyChanged("FechaRegistroCorrespondencia");
                OnPropertyChanged("HoraRegistro");

                SelectExpediente = null;
                SelectIngreso    = null;
                SelectPersona    = null;
                break;

            case "guardar_menu":    //"RegistroCorrespondencia":
                if (!pInsertar)
                {
                    new Dialogos().ConfirmacionDialogo("Validación", "Su usuario no tiene privilegios para realizar esta acción");
                    break;
                }

                if (SelectExpediente == null || SelectIngreso == null || SelectPersona == null || string.IsNullOrEmpty(Remitente) || string.IsNullOrEmpty(ObservacionRecepcion))
                {
                    await new Dialogos().ConfirmacionDialogoReturn("Validación", "Faltan campos por capturar");
                    break;
                }

                ///TODO: Agregar el id del empleado cuanso se tenga la tabla empleado >>Ernesto G.
                if (new cCorrespondencia().Insertar(new CORRESPONDENCIA {
                    ID_ANIO = SelectIngreso.ID_ANIO, CONFIRMACION_RECIBIDO = "N", RECEPCION_FEC = Fechas.GetFechaDateServer, ID_INGRESO = SelectIngreso.ID_INGRESO, ID_IMPUTADO = selectIngreso.ID_IMPUTADO, ID_CENTRO = selectIngreso.ID_CENTRO, OBSERV = ObservacionRecepcion, REMITENTE = Remitente, ID_DEPOSITANTE = SelectPersona.ID_PERSONA, ID_EMPLEADO = /*StaticSourcesViewModel.UsuarioLogin.Id_Empleado */ null
                }))
                {
                    Remitente = ObservacionRecepcion = string.Empty;
                    await new Dialogos().ConfirmacionDialogoReturn("Éxito", "Registro capturado exitosamente");
                }
                else
                {
                    await new Dialogos().ConfirmacionDialogoReturn("Error", "Error en el registro de correspondencia");
                }

                CargarDatos();
                break;

            case "BuscarImputado_Correspondencia":
                if (!pConsultar)
                {
                    new Dialogos().ConfirmacionDialogo("Validación", "Su usuario no tiene privilegios para realizar esta acción");
                    break;
                }
                ImagenImputado = ImagenIngreso = new Imagenes().getImagenPerson();

                NombreBuscar          = DesNombre;
                ApellidoPaternoBuscar = DesPaterno;
                ApellidoMaternoBuscar = DesMaterno;

                if (!string.IsNullOrEmpty(NombreBuscar) || !string.IsNullOrEmpty(ApellidoPaternoBuscar) || !string.IsNullOrEmpty(ApellidoMaternoBuscar) || FolioBuscar.HasValue || AnioBuscar.HasValue)
                {
                    BuscarImputado();
                }

                //PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.REGISTRO_CORRESPONDENCIA);
                PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.BUSQUEDA);
                break;

            case "BuscarVisitante_Correspondencia":
                if (!pConsultar)
                {
                    new Dialogos().ConfirmacionDialogo("Validación", "Su usuario no tiene privilegios para realizar esta acción");
                    break;
                }
                TextNombre  = DepNombre;
                TextPaterno = DepPaterno;
                TextMaterno = DepMaterno;

                if (!string.IsNullOrEmpty(TextNombre) || !string.IsNullOrEmpty(TextPaterno) || !string.IsNullOrEmpty(TextMaterno))
                {
                    BuscarPersonas();
                }

                //PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.REGISTRO_CORRESPONDENCIA);
                PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.BUSCAR_PERSONAS_EXISTENTES);
                break;

                #endregion
                #region BUSCAR_PERSONA
            case "seleccionar_buscar_persona":
                if (SelectPersona == null)
                {
                    (new Dialogos()).ConfirmacionDialogo("Error!", "Debes seleccionar una persona.");
                    return;
                }

                DepPaterno = SelectPersona.PATERNO;
                DepMaterno = SelectPersona.MATERNO;
                DepNombre  = SelectPersona.NOMBRE;

                PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.BUSCAR_PERSONAS_EXISTENTES);
                //PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.REGISTRO_CORRESPONDENCIA);
                break;

            case "cancelar_buscar_persona":
                TextNombre  = string.Empty;
                TextPaterno = string.Empty;
                TextMaterno = string.Empty;

                ListPersonas = new ObservableCollection <SSP.Servidor.PERSONA>();

                PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.BUSCAR_PERSONAS_EXISTENTES);
                //PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.REGISTRO_CORRESPONDENCIA);
                break;

            case "buscar_visitante":
                if (!string.IsNullOrEmpty(TextNombre) || !string.IsNullOrEmpty(TextPaterno) || !string.IsNullOrEmpty(TextMaterno))
                {
                    BuscarPersonas();
                }
                break;

                #endregion
                #region BUSCAR_IMPUTADO
            case "buscar_salir":
                AnioBuscar            = FolioBuscar = null;
                ApellidoPaternoBuscar = ApellidoMaternoBuscar = NombreBuscar = string.Empty;
                ListExpediente        = new ObservableCollection <IMPUTADO>();
                SelectExpediente      = null;
                SelectIngreso         = null;
                ImagenImputado        = ImagenIngreso = new Imagenes().getImagenPerson();

                PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.BUSQUEDA);
                //PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.REGISTRO_CORRESPONDENCIA);
                break;

            case "nueva_busqueda":
                ListExpediente         = new ObservableCollection <IMPUTADO>();
                AnioBuscar             = FolioBuscar = new Nullable <int>();
                ApellidoPaternoBuscar  = ApellidoMaternoBuscar = NombreBuscar = string.Empty;
                SelectExpediente       = new IMPUTADO();
                EmptyExpedienteVisible = true;
                ImagenImputado         = ImagenIngreso = new Imagenes().getImagenPerson();
                //SelectIngresoEnabled = false;
                break;

            case "buscar_seleccionar":
                if (SelectExpediente != null)
                {
                    if (SelectIngreso != null)
                    {
                        if (SelectIngreso.ID_ESTATUS_ADMINISTRATIVO != Parametro.ID_ESTATUS_ADMVO_LIBERADO)
                        {
                            DesPaterno = SelectExpediente.PATERNO;
                            DesMaterno = SelectExpediente.MATERNO;
                            DesNombre  = SelectExpediente.NOMBRE;

                            var ubicacion = SelectIngreso.CAMA;
                            if (ubicacion != null)
                            {
                                UbicacionFisica = ubicacion.CELDA.SECTOR.EDIFICIO.DESCR.Trim() + " " + ubicacion.CELDA.SECTOR.DESCR.Trim() + " " + ubicacion.CELDA.ID_CELDA.Trim();
                            }

                            PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.BUSQUEDA);
                            ImagenImputado = ImagenIngreso = new Imagenes().getImagenPerson();
                            //PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.REGISTRO_CORRESPONDENCIA);
                        }
                        else
                        {
                            (new Dialogos()).ConfirmacionDialogo("Ingreso no vigente.", "Debes seleccionar un ingreso vigente.");
                        }
                    }
                    else
                    {
                        (new Dialogos()).ConfirmacionDialogo("Validación", "Debes seleccionar un ingreso.");
                    }
                }
                else
                {
                    (new Dialogos()).ConfirmacionDialogo("Validación", "Debes seleccionar un expediente o crear uno nuevo.");
                }

                break;
                #endregion
            }
        }