public void EliminarSkusDeCombo(object sender)
        {
            var idCombo = Int32.Parse(UiTxtCodigo.Text);
            List <SkuPorCombo> listaSkuPorCombos = new List <SkuPorCombo>();

            for (int i = 0; i < UiVistaSkusCombo.VisibleRowCount; i++)
            {
                listaSkuPorCombos.Add((SkuPorCombo)UiVistaSkusCombo.GetRow(i));
            }

            UsuarioDeseaEliminarProductoAlCombo?.Invoke(sender, new ComboArgumento
            {
                Combo = new Combo
                {
                    COMBO_ID = idCombo
                    ,
                    SkusPorCombo = listaSkuPorCombos
                }
            });
        }
        protected void UiVistaSkusCombo_OnBatchUpdate(object sender, ASPxDataBatchUpdateEventArgs e)
        {
            var idCombo = 0;

            if (UiTxtCodigo.Text != "")
            {
                idCombo = int.Parse(UiTxtCodigo.Text);
            }



            if (idCombo != 0)
            {
                var listaSkuPorCombos          = new List <SkuPorCombo>();
                var listaSkuPorComboEliminados = new List <SkuPorCombo>();

                foreach (var item in e.UpdateValues)
                {
                    var skuPorCombo = new SkuPorCombo
                    {
                        COMBO_ID = idCombo
                        ,
                        CODE_SKU = item.Keys["CODE_SKU"].ToString()
                        ,
                        PACK_UNIT = int.Parse(item.Keys["PACK_UNIT"].ToString())
                        ,
                        QTY = int.Parse(item.NewValues["QTY"].ToString())
                    };
                    listaSkuPorCombos.Add(skuPorCombo);
                    skuPorCombo = null;
                }

                if (listaSkuPorCombos.Count > 0)
                {
                    UsuarioDeseaActualizarProductoDelCombo?.Invoke(sender, new ComboArgumento
                    {
                        Combo = new Combo
                        {
                            COMBO_ID = idCombo
                        }
                        ,
                        ProductosDeComboQueCambiaron = listaSkuPorCombos
                    });
                }


                foreach (var item in e.DeleteValues)
                {
                    var skuPorCombo = new SkuPorCombo
                    {
                        COMBO_ID = idCombo
                        ,
                        CODE_SKU = item.Keys["CODE_SKU"].ToString()
                        ,
                        PACK_UNIT = int.Parse(item.Keys["PACK_UNIT"].ToString())
                    };

                    listaSkuPorComboEliminados.Add(skuPorCombo);

                    skuPorCombo = null;
                }

                if (listaSkuPorComboEliminados.Count > 0)
                {
                    UsuarioDeseaEliminarProductoAlCombo?.Invoke(sender, new ComboArgumento
                    {
                        Combo = new Combo
                        {
                            COMBO_ID = idCombo
                            ,
                            SkusPorCombo = listaSkuPorComboEliminados
                        }
                    });
                }

                e.Handled = true;

                UiVistaSkusCombo.JSProperties.Add("cpTerminoBatch", "Enabled");
            }
            else
            {
                var listaNueva = ProductosDeCombo ?? new List <SkuPorCombo>();

                foreach (var item in e.UpdateValues)
                {
                    listaNueva.Where(w => w.CODE_SKU == item.Keys["CODE_SKU"].ToString() && w.PACK_UNIT == int.Parse(item.Keys["PACK_UNIT"].ToString())).ToList().ForEach(i => i.QTY = int.Parse(item.NewValues["QTY"].ToString()));
                }

                foreach (var item in e.DeleteValues)
                {
                    var tmp = (List <SkuPorCombo>)listaNueva;

                    tmp.RemoveAll(x => x.CODE_SKU == item.Keys["CODE_SKU"].ToString() && x.PACK_UNIT == int.Parse(item.Keys["PACK_UNIT"].ToString()));

                    listaNueva = tmp;
                }

                ProductosDeCombo = listaNueva;

                e.Handled = true;

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

                ProductosNoAsociadosAlCombo = res;

                UiVistaSkusCombo.JSProperties.Add("cpTerminoBatchNuevoCombo", "Enabled");
            }
        }