Exemplo n.º 1
0
        private void GenerarReporte()
        {
            try
            {
                var listaPolizas = new List <Poliza>();
                for (var i = 0; i < UiVistaPoliza.RowCount; i++)
                {
                    if (!UiVistaPoliza.IsGroupRow(i))
                    {
                        listaPolizas.Add((Poliza)UiVistaPoliza.GetRow(i));
                    }
                }
                var listaPolizasParaReporte =
                    listaPolizas.GroupBy(
                        b =>
                        new
                {
                    b.CLIENT_CODE,
                    b.CLIENT_NAME,
                    b.REGIMEN,
                    b.REGIMEN_GROUP,
                    b.FECHA_LLEGADA,
                    b.EXPIRATION_DATE,
                    b.DAYS_FOR_LOCKING,
                    b.TIME_BLOCKED,
                    b.QTY,
                    b.TOTAL_VALUE,
                    b.DESCRIPTION_STATUS,
                    b.UNLOCK_DATE,
                    b.UNLOCK_DOCUMENT,
                    b.UNLOCK_USER,
                    b.DOC_ID
                }).Select(b => new Poliza
                {
                    CLIENT_CODE      = b.Key.CLIENT_CODE,
                    CLIENT_NAME      = b.Key.CLIENT_NAME,
                    REGIMEN          = b.Key.REGIMEN,
                    REGIMEN_GROUP    = b.Key.REGIMEN_GROUP,
                    FECHA_LLEGADA    = b.Key.FECHA_LLEGADA,
                    EXPIRATION_DATE  = b.Key.EXPIRATION_DATE,
                    DAYS_FOR_LOCKING = b.Key.DAYS_FOR_LOCKING,
                    TIME_BLOCKED     = b.Key.TIME_BLOCKED,
                    QTY                = b.Key.QTY,
                    TOTAL_VALUE        = b.Key.TOTAL_VALUE,
                    DESCRIPTION_STATUS = b.Key.DESCRIPTION_STATUS,
                    UNLOCK_DATE        = b.Key.UNLOCK_DATE,
                    UNLOCK_DOCUMENT    = b.Key.UNLOCK_DOCUMENT,
                    UNLOCK_USER        = b.Key.UNLOCK_USER,
                    DOC_ID             = b.Key.DOC_ID
                }).ToList();

                var reporte = new Reportes.PolizasVencidas
                {
                    DataSource        = ListToDataTableClass.ListToDataTable(listaPolizasParaReporte),
                    DataMember        = "Polizas",
                    RequestParameters = false
                };
                reporte.Parameters["ImagenLogo"].Value = InteraccionConUsuarioServicio.ObtenerLogo();
                reporte.Parameters["Usuario"].Value    = InteraccionConUsuarioServicio.ObtenerNombreUsuario();
                reporte.FillDataSource();

                using (var printTool = new ReportPrintTool(reporte))
                {
                    printTool.ShowRibbonPreviewDialog();
                }
            }
            catch (Exception ex)
            {
                InteraccionConUsuarioServicio.Mensaje(ex.Message);
            }
        }
        private void UiBotonReporte_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (IdSolicitudDeTraslado == 0)
            {
                InteraccionConUsuarioServicio.Mensaje("Debe de cargar una solicitud de traslado para generar el reporte.");
            }
            else
            {
                UsuarioDeseaBuscarSolicitudDeTraslado?.Invoke(sender, new SolicitudDeTrasladoArgumento
                {
                    SolicitudDeTrasladoEncabezado = new SolicitudDeTrasladoEncabezado
                    {
                        TRANSFER_REQUEST_ID = IdSolicitudDeTraslado
                    }
                });

                var listaDetalleParaReporte =
                    SolicitudDeTrasladoDetalle.GroupBy(
                        b =>
                        new
                {
                    b.MATERIAL_ID,
                    b.MATERIAL_NAME,
                    b.IS_MASTERPACK,
                    b.IS_MASTERPACK_DESCRIPTION,
                    b.QTY,
                    b.STATUS,
                    b.STATUS_DESCRIPTION
                }).Select(b => new SolicitudDeTrasladoDetalle
                {
                    MATERIAL_ID               = b.Key.MATERIAL_ID,
                    MATERIAL_NAME             = b.Key.MATERIAL_NAME,
                    IS_MASTERPACK             = b.Key.IS_MASTERPACK,
                    IS_MASTERPACK_DESCRIPTION = b.Key.IS_MASTERPACK_DESCRIPTION,
                    QTY                = b.Key.QTY,
                    STATUS             = b.Key.STATUS,
                    STATUS_DESCRIPTION = b.Key.STATUS_DESCRIPTION
                }).ToList();


                var reporte = new Reportes.SolicitudDeTraslado
                {
                    DataSource        = ListToDataTableClass.ListToDataTable(listaDetalleParaReporte),
                    RequestParameters = false
                };

                reporte.Parameters["COMMENT"].Value             = SolicitudDeTrasladoEncabezado.COMMENT;
                reporte.Parameters["DELIVERY_DATE"].Value       = SolicitudDeTrasladoEncabezado.DELIVERY_DATE;
                reporte.Parameters["LOGIN"].Value               = InteraccionConUsuarioServicio.ObtenerNombreUsuario();
                reporte.Parameters["REQUEST_TYPE"].Value        = SolicitudDeTrasladoEncabezado.REQUEST_TYPE_DESCRIPTION;
                reporte.Parameters["TRANSFER_REQUEST_ID"].Value = IdSolicitudDeTraslado;
                reporte.Parameters["WAREHOUSE_FROM"].Value      = SolicitudDeTrasladoEncabezado.WAREHOUSE_FROM;
                reporte.Parameters["WAREHOUSE_TO"].Value        = SolicitudDeTrasladoEncabezado.WAREHOUSE_TO;
                reporte.Parameters["STATUS_HEADER"].Value       = SolicitudDeTrasladoEncabezado.STATUS_DESCRIPTION;

                reporte.Parameters["LOGO"].Value = InteraccionConUsuarioServicio.ObtenerLogo();
                reporte.FillDataSource();

                using (var printTool = new ReportPrintTool(reporte))
                {
                    printTool.ShowRibbonPreviewDialog();
                }
            }
        }