void gridViewLista_CustomCallback(object sender, ASPxGridViewCustomCallbackEventArgs e)
        {
            if (ValidarConexionYUsuarioLogueado(sender))
            {
                switch (e.Parameters.Split('|')[0])
                {
                case "ObtenerRutasAsignadasAVendedor":
                    var codigoVendedor = e.Parameters.Split('|')[1];
                    UsuarioSeleccionoVendedor?.Invoke(sender, new VendedorArgumento
                    {
                        Data = new Vendedor
                        {
                            SELLER_CODE = codigoVendedor
                        }
                    });

                    if (e.Parameters.Split('|').Length > 2)
                    {
                        var codeRoute = UiListaRuta.Value = e.Parameters.Split('|')[2];
                        ((ASPxGridView)(sender)).JSProperties.Add("cpSetearValores", "|" + codeRoute);
                    }
                    break;

                case "ObtenerBodegasCentroDeDistribucion":

                    var idCDD = e.Parameters.Split('|')[1];
                    var data  = new Usuario();
                    if (UiTxtCodigoUsuario.Text == "")
                    {
                        data.LOGIN = null;
                    }
                    else
                    {
                        data.LOGIN = UiTxtLoginUsuario.Text;
                    }
                    data.DISTRIBUTION_CENTER_ID = int.Parse(idCDD);
                    data.RELATED_SELLER         = null;

                    UsuarioArgumento arg = new UsuarioArgumento
                    {
                        Data = data
                    };

                    UsuarioSeleeccionoCentroDeDistribucion?.Invoke(sender, arg);

                    break;

                case "EstablecerBodegaPredeterminada":
                    var bodegaPredeterminada = (Usuario)Session["UsuarioSeleccionado"];
                    UiListaBodegaPredeterminada.Value = bodegaPredeterminada.DEFAULT_WAREHOUSE;
                    break;

                case "EstablecerBodegaPreventa":
                    var bodegaPreventa = (Usuario)Session["UsuarioSeleccionado"];
                    UiListaBodegaPreventa.Value = bodegaPreventa.PRESALE_WAREHOUSE;
                    break;

                case "LimpiarBodegaPredeterminada":
                    BodegasAutoventa = new List <Bodega>();
                    break;

                case "LimpiarBodegaPreventa":
                    BodegasPreVenta = new List <Bodega>();
                    break;

                case "LimpiarBodegaNoAsignadas":
                    BodegasParaAccesoNoAsignadas = new List <Bodega>();
                    break;

                case "UsuarioDeseaCrearNuevoUsuario":
                    UsuarioDeseaCrearUsuario?.Invoke(sender, new UsuarioArgumento {
                        Data = new Usuario {
                            LOGIN = null
                        }
                    });
                    break;
                }
            }
        }
        protected void UiVistaUsuario_CustomCallback(object sender, DevExpress.Web.ASPxGridViewCustomCallbackEventArgs e)
        {
            if (ValidarConexionYUsuarioLogueado(sender))
            {
                var idUsuario     = 0;
                var listaUsuarios = (IList <Usuario>)Session["UiVistaUsuario"];
                switch (e.Parameters.Split('|')[0])
                {
                case "ObtenerInformacionDeUsuarioSeleccionado":
                    PoligonosDeRuta = null;
                    idUsuario       = int.Parse(e.Parameters.Split('|')[1]);

                    foreach (Usuario item in listaUsuarios.Where(item => item.CORRELATIVE == idUsuario))
                    {
                        Session["UsuarioSeleccionado"] = item;
                        UsuarioSeleeccionoCentroDeDistribucion?.Invoke(sender, new UsuarioArgumento {
                            Data = item
                        });
                        if (item.SELLER_ROUTE != null)
                        {
                            if (item.SELLER_ROUTE != "")
                            {
                                UsuarioDeseaObtenerPoligonosDeRuta?.Invoke(sender, new RutaArgumento
                                {
                                    Data = new Ruta
                                    {
                                        CODE_ROUTE = item.SELLER_ROUTE
                                    }
                                });
                            }
                        }
                        UiVistaUsuario.JSProperties.Add("cpProcesarDatosDeUsuario", item);
                    }

                    break;

                case "EliminarUsuario":
                    idUsuario = int.Parse(e.Parameters.Split('|')[1]);

                    foreach (Usuario item in listaUsuarios.Where(item => item.CORRELATIVE == idUsuario))
                    {
                        item.AccionEjecutadaSobreUsuario = AccionEjecutadaSobreUsuario.Eliminado;
                        UsuarioDeseaBorrarUsuario?.Invoke(sender, new UsuarioArgumento {
                            Data = item
                        });
                    }

                    Session["UsuarioSeleccionado"] = null;
                    break;

                case "QuitarRuta":
                    QuitarRuta(sender, int.Parse(e.Parameters.Split('|')[1]));

                    break;

                case "ActualizarUsuario":
                    ActualizarUsuario(sender, int.Parse(e.Parameters.Split('|')[1]));
                    break;

                case "CrearUsuario":
                    CrearUsuario(sender, idUsuario);
                    break;

                case "BorrarTodasLasBodegasAsociadas":
                    var lstBodegaBorrar = new List <BodegaConAccesoPorUsuario>();
                    var IdUsuario       = UiVistaUsuario.GetRowValues(UiVistaUsuario.FocusedRowIndex, "CORRELATIVE").ToString();

                    for (var i = 0; i < UiVistaBodegasAsignadasAUsuario.VisibleRowCount; i++)
                    {
                        lstBodegaBorrar.Add(new BodegaConAccesoPorUsuario
                        {
                            CODE_WAREHOUSE = ((Bodega)UiVistaBodegasAsignadasAUsuario.GetRow(i)).CODE_WAREHOUSE
                        });
                    }
                    UsuarioDeseaQuitarAccesoABodega?.Invoke(sender, new BodegaConAccesoPorUsuarioArgumento {
                        ListaBodegaConAccesoPorUsuario = lstBodegaBorrar
                    });
                    break;
                }
            }
        }