private void FinalizarTransferencias(object sender)
        {
            var lst = UiViewTransferenciaEncabezado.GetSelectedFieldValues("TRANSFER_ID", "SELLER_CODE", "SELLER_ROUTE", "CODE_WAREHOUSE_SOURCE", "COMMENT", "IS_ONLINE", "STATUS");
            var listadoTransferencia = new List <TransferenciaEncabezado>();

            foreach (var item in lst)
            {
                if (((object[])item)[6].ToString() == Enums.GetStringValue(EstadoDeTransferencia.Pendiente))
                {
                    TransferenciaEncabezado transferencia = new TransferenciaEncabezado
                    {                                                          //((object[])item)[1].ToString()
                        TRANSFER_ID = (decimal)((object[])item)[0]             //Convert.ToInt32(txtCodigo.Text)
                        ,
                        SELLER_CODE = ((object[])item)[1].ToString()           //Convert.ToInt32(txtCodigo.Text)
                        ,
                        SELLER_ROUTE = ((object[])item)[2].ToString()          //codigoDeVendedor.Split('|')[1]
                        ,
                        CODE_WAREHOUSE_SOURCE = ((object[])item)[3].ToString() //UiListaBodega.Value.ToString()
                        ,
                        LAST_UPDATE_BY = Session["USER"].ToString()
                        ,
                        COMMENT = ((object[])item)[4].ToString()
                        ,
                        STATUS = Enums.GetStringValue(EstadoDeTransferencia.Completado)
                        ,
                        IS_ONLINE = (int)((object[])item)[5]
                    };

                    UsuarioDeseaObtenerDetalleBroadcast?.Invoke(sender, new TransferenciaDetalleArgumento {
                        DataTransferenciaEncabezado = transferencia
                    });
                    transferencia.Detalles = TransferenciaDetalleBroadcast;

                    if (TransferenciaDetalleBroadcast.Count > 0)
                    {
                        listadoTransferencia.Add(transferencia);
                    }
                }
            }
            var argumento = new TransferenciaDetalleArgumento
            {
                ListadoDeTransferenciaEncabezados = listadoTransferencia
            };

            UsuarioDeseaCambiarEstadoDeTransferencia?.Invoke(sender, argumento);

            var listadoTransferenciasProcesadas = TransferenciaEncabezadoBroadcast;

            UiViewTransferenciaEncabezado.JSProperties.Add("cpEnviarBroadcastNuevo", listadoTransferenciasProcesadas);

            UsuarioDeseaObtenerTransferencias?.Invoke(sender, new ConsultaArgumento {
                FechaFinal = UiFechaFinal.Date.AddDays(1), FechaInicial = UiFechaIncio.Date
            });
        }
        protected void UiViewTransferenciaEncabezado_CustomCallback(object sender, DevExpress.Web.ASPxGridViewCustomCallbackEventArgs e)
        {
            if (!ValidarConexionYUsuarioLogueado(sender))
            {
                return;
            }
            TransferenciaEncabezado tranferenciaEncabezado;
            var online = 0;

            switch (e.Parameters.Split('|')[0])
            {
            case "CrearEncabezado":
                var vendedor =
                    Vendedor.First(
                        v =>
                        v.SELLER_CODE == UiListaVendedor.Value.ToString().Split('|')[0] &&
                        v.SELLER_ROUTE == UiListaVendedor.Value.ToString().Split('|')[1]);

                if (vendedor == null)
                {
                    return;
                }
                if (UiCheckBoxTransferenciaEnLiena.Checked)
                {
                    online = 1;
                }
                tranferenciaEncabezado = new TransferenciaEncabezado
                {
                    SELLER_CODE           = vendedor.SELLER_CODE,
                    SELLER_ROUTE          = vendedor.SELLER_ROUTE,
                    CODE_WAREHOUSE_TARGET = vendedor.DEFAULT_WAREHOUSE,
                    CODE_WAREHOUSE_SOURCE = UiListaBodega.Value.ToString(),
                    STATUS         = "PENDIENTE",
                    LAST_UPDATE_BY = Session["USER"].ToString(),
                    COMMENT        = UiComentairo.Text,
                    IS_ONLINE      = online
                };
                UsuarioDeseaCrearTransferenciaEncabezado?.Invoke(sender, new TransferenciaEncabezadoArgumento {
                    Data = tranferenciaEncabezado
                });
                UiViewTransferenciaEncabezado.JSProperties.Add("cpRecargarListaSku", "Enable");
                UiFechaFinal.Date = DateTime.Now;
                UiViewTransferenciaEncabezado.JSProperties.Add("cpRecargarListadoDeTransferencias", "Enable");

                break;

            case "ActualizarEncabezado":
                var codigoDeVendedor = UiListaVendedor.Value.ToString();
                online = 0;
                if (UiCheckBoxTransferenciaEnLiena.Checked)
                {
                    online = 1;
                }
                tranferenciaEncabezado = new TransferenciaEncabezado
                {
                    TRANSFER_ID           = Convert.ToInt32(txtCodigo.Text),
                    SELLER_CODE           = codigoDeVendedor.Split('|')[0],
                    SELLER_ROUTE          = codigoDeVendedor.Split('|')[1],
                    CODE_WAREHOUSE_SOURCE = UiListaBodega.Value.ToString(),
                    LAST_UPDATE_BY        = Session["USER"].ToString(),
                    COMMENT   = UiComentairo.Text,
                    STATUS    = e.Parameters.Split('|')[1],
                    IS_ONLINE = online
                };
                UsuarioDeseaModificarTransferenciaEncabezado?.Invoke(sender, new TransferenciaEncabezadoArgumento {
                    Data = tranferenciaEncabezado
                });
                UsuarioDeseaObtenerTransferencias?.Invoke(sender, new ConsultaArgumento {
                    FechaFinal = UiFechaFinal.Date, FechaInicial = UiFechaIncio.Date
                });

                break;

            case "BorrarEncabezado":
                tranferenciaEncabezado = new TransferenciaEncabezado {
                    TRANSFER_ID = Convert.ToInt32(txtCodigo.Text)
                };
                UsuarioDeseaEliminarTransferenciaEncabezado?.Invoke(sender, new TransferenciaEncabezadoArgumento {
                    Data = tranferenciaEncabezado
                });
                UiViewTransferenciaEncabezado.JSProperties.Add("cpLimpiarControles", "Enable");
                break;

            case "RefrescarVista":
                UsuarioDeseaObtenerTransferencias?.Invoke(sender, new ConsultaArgumento {
                    FechaFinal = UiFechaFinal.Date, FechaInicial = UiFechaIncio.Date
                });
                break;

            case "CancelarTransferencias":
                CancelarTransferencias(sender);
                break;

            case "FinalizarTransferencias":
                FinalizarTransferencias(sender);
                break;
            }
        }