private void vista_CustomCallback(object sender, ASPxGridViewCustomCallbackEventArgs e)
        {
            ComboArgumento comboArgumento;

            switch (e.Parameters.Split('|')[0])
            {
            case "ObtenerSkusNoAsociadosAlCombo":
                if (int.Parse(e.Parameters.Split('|')[1]) == 0)
                {
                    comboArgumento = new ComboArgumento
                    {
                        Combo = new Combo
                        {
                            COMBO_ID = null
                        }
                    };
                }
                else
                {
                    comboArgumento = new ComboArgumento
                    {
                        Combo = new Combo
                        {
                            COMBO_ID = int.Parse(e.Parameters.Split('|')[1])
                        }
                    };
                }
                UsuarioSeleccionoCombo?.Invoke(sender, comboArgumento);
                UiListaSku.GridView.JSProperties.Add("cpTerminoDeObtenerSkuNoAsociados", "Enabled");
                break;

            case "AgregarSkusCombo":
                AgregarSkusCombo(sender);
                UiListaSku.GridView.JSProperties.Add("cpTerminoDeAgregarSku", "Enabled");
                break;

            case "AgregarSkusNuevoCombo":
                AgregarSkusNuevoCombo(sender);
                UiListaSku.GridView.JSProperties.Add("cpTerminoDeAgregarSkuComboNuevo", "Enabled");
                break;

            case "LimpiarListaSku":
                ProductosDeCombo            = null;
                ProductosNoAsociadosAlCombo = null;
                break;
            }
        }
        protected void UiVistaSkusCombo_OnCustomCallback(object sender, ASPxGridViewCustomCallbackEventArgs e)
        {
            ComboArgumento comboArgumento;

            switch (e.Parameters.Split('|')[0])
            {
            case "ObtenerSkusCombo":
                comboArgumento = new ComboArgumento
                {
                    Combo = new Combo
                    {
                        COMBO_ID = int.Parse(e.Parameters.Split('|')[1])
                    }
                };
                UsuarioSeleccionoCombo?.Invoke(sender, comboArgumento);
                break;

            case "EliminarTodosSkusCombo":
                EliminarSkusDeCombo(sender);
                UiVistaSkusCombo.JSProperties.Add("cpTerminoDeEliminarTodosSkus", "Enabled");
                break;

            case "EliminarTodosSkusNuevoCombo":
                comboArgumento = new ComboArgumento
                {
                    Combo = new Combo()
                };

                ProductosDeCombo = null;

                UsuarioSeleccionoCombo?.Invoke(sender, comboArgumento);
                UiVistaSkusCombo.JSProperties.Add("cpTerminoBatchNuevoCombo", "Enabled");
                break;

            case "LimpiarVistaSku":
                ProductosDeCombo            = null;
                ProductosNoAsociadosAlCombo = null;
                break;
            }
        }
        public void AgregarSkusNuevoCombo(object sender)
        {
            var cantidad = Int32.Parse(UiTxtCantidadSku.Text);

            if (cantidad < 0)
            {
                EstablecerError("La cantidad debe de ser mayor a 0.", UiVistaCombos);
                return;
            }

            var listaSkusAAsociar = UiListaSku.GridView.GetSelectedFieldValues("CODE_SKU", "PACK_UNIT", "DESCRIPTION_SKU", "CODE_PACK_UNIT",
                                                                               "DESCRIPTION_PACK_UNIT", "FAMILY_SKU", "CODE_FAMILY_SKU", "DESCRIPTION_FAMILY_SKU", "ID");

            var listaSkuPorCombos = new List <SkuPorCombo>();

            if (ProductosDeCombo == null)
            {
                var comboArgumento = new ComboArgumento
                {
                    Combo = new Combo
                    {
                        COMBO_ID = null
                    }
                };
                UsuarioSeleccionoCombo?.Invoke(sender, comboArgumento);
            }
            else
            {
                listaSkuPorCombos = ProductosDeCombo.ToList();
            }

            if (listaSkusAAsociar.Count > 0)
            {
                foreach (var sku in listaSkusAAsociar)
                {
                    int?   famSku  = null;
                    string famCode = null;
                    string descFam = null;

                    if (((object[])sku)[5] != null)
                    {
                        famSku  = int.Parse(((object[])sku)[5].ToString());
                        famCode = ((object[])sku)[6].ToString();
                        descFam = ((object[])sku)[7].ToString();
                    }

                    var skuPorCombo = new SkuPorCombo
                    {
                        COMBO_ID = 0
                        ,
                        CODE_SKU = ((object[])sku)[0].ToString()
                        ,
                        PACK_UNIT = int.Parse(((object[])sku)[1].ToString())
                        ,
                        QTY = cantidad
                        ,
                        DESCRIPTION_SKU = ((object[])sku)[2].ToString()
                        ,
                        CODE_PACK_UNIT = ((object[])sku)[3].ToString()
                        ,
                        DESCRIPTION_PACK_UNIT = ((object[])sku)[4].ToString()
                        ,
                        FAMILY_SKU = famSku
                        ,
                        CODE_FAMILY_SKU = famCode
                        ,
                        DESCRIPTION_FAMILY_SKU = descFam
                        ,
                        ID = int.Parse(((object[])sku)[8].ToString())
                    };

                    listaSkuPorCombos.Add(skuPorCombo);
                    skuPorCombo = null;
                }
            }

            ProductosDeCombo = listaSkuPorCombos;



            var res =
                ProductosNoAsociadosAlCombo.Where(
                    s => ProductosDeCombo.All(s2 => s2.ID != s.ID)).ToList();

            ProductosNoAsociadosAlCombo = res;
        }