private void GenerarReporte()
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;
                var listaDeEncabezadosSeleccionados =
                    InventarioComprometidoEncabezados.Where(enc => enc.IS_SELECTED).ToList();

                if (listaDeEncabezadosSeleccionados.Count == 0)
                {
                    return;
                }

                var listaDeReporte = (from encabezado in listaDeEncabezadosSeleccionados
                                      let listaDetalles = InventarioComprometidoTodosDetalles.Where(det => det.WAVE_PICKING_ID == encabezado.WAVE_PICKING_ID).ToList()
                                                          from detalle in listaDetalles
                                                          select new InventarioComprometidoParaReporte
                {
                    DOC_NUM = encabezado.DOC_NUM,
                    CLIENT_CODE = encabezado.CLIENT_CODE,
                    CLIENT_NAME = encabezado.CLIENT_NAME,
                    WAVE_PICKING_ID = encabezado.WAVE_PICKING_ID,
                    ERP_DOCUMENT = encabezado.ERP_DOCUMENT,
                    LABEL_ID = detalle.LABEL_ID,
                    LOCATION_SPOT = detalle.LOCATION_SPOT,
                    MATERIAL_ID = detalle.MATERIAL_ID,
                    MATERIAL_NAME = detalle.MATERIAL_NAME,
                    QTY = detalle.QTY,
                    DELIVERY_STATUS = detalle.DELIVERY_STATUS
                }).ToList();

                var reporte = new ReporteInventarioComprometido()
                {
                    DataSource        = ListToDataTableClass.ListToDataTable(listaDeReporte),
                    RequestParameters = false
                };

                reporte.Parameters["ImagenLogo"].Value = InteraccionConUsuarioServicio.ObtenerLogo();
                reporte.Parameters["Usuario"].Value    = InteraccionConUsuarioServicio.ObtenerUsuario();
                reporte.FillDataSource();

                using (var printTool = new ReportPrintTool(reporte))
                {
                    printTool.ShowRibbonPreviewDialog();
                }
            }
            catch (Exception ex)
            {
                InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
        private void MostrarDetalleDeOlaDePicking(object sender)
        {
            if (UiVistaInventarioComprometido.FocusedRowHandle < 0)
            {
                return;
            }
            var olaDePicking =
                (InventarioComprometidoEncabezado)
                UiVistaInventarioComprometido.GetRow(UiVistaInventarioComprometido.FocusedRowHandle);

            InventarioComprometidoDetalles = InventarioComprometidoTodosDetalles.Where(todosDetalles => todosDetalles.PICKING_DEMAND_HEADER_ID == olaDePicking.PICKING_DEMAND_HEADER_ID).ToList();
        }