protected void UiVistaBodegasAsociadasAOficinaDeVentas_OnBatchUpdate(object sender, ASPxDataBatchUpdateEventArgs e)
        {
            var idOficina = 0;

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

            if (idOficina != 0)
            {
                var listaBodegasEliminadas = new List <Bodega>();

                foreach (var item in e.DeleteValues)
                {
                    var bodega = new Bodega
                    {
                        CODE_WAREHOUSE = item.Keys["CODE_WAREHOUSE"].ToString()
                    };

                    listaBodegasEliminadas.Add(bodega);
                }

                if (listaBodegasEliminadas.Count > 0)
                {
                    foreach (var item in listaBodegasEliminadas)
                    {
                        UsuarioDeseaEliminarBodegaALaOficinaDeVentas?.Invoke(sender, new OficinaDeVentaArgumento
                        {
                            OficinaDeVenta = new OficinaDeVenta
                            {
                                SALES_OFFICE_ID = idOficina
                            }
                            ,
                            Bodega = item
                        });
                    }
                }
                e.Handled = true;
                UiVistaBodegasAsociadasAOficinaDeVentas.JSProperties.Add("cpTerminoBatchBodegas", "Enabled");
            }
            else
            {
                var listaNueva = BodegasAsociadas ?? new List <Bodega>();

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

                    tmp.RemoveAll(x => x.CODE_WAREHOUSE == item.Keys["CODE_WAREHOUSE"].ToString());

                    listaNueva = tmp;
                }

                BodegasAsociadas = listaNueva;

                e.Handled = true;

                var res =
                    BodegasNoAsociadas.Where(
                        s => BodegasAsociadas.All(s2 => s2.CODE_WAREHOUSE != s.CODE_WAREHOUSE)).ToList();

                BodegasNoAsociadas = res;

                UiVistaBodegasAsociadasAOficinaDeVentas.JSProperties.Add("cpTerminoBatchBodegasNueva", "Enabled");
            }
        }
        protected void UiVistaBodegasAsociadasAOficinaDeVentas_OnCustomCallback(object sender, ASPxGridViewCustomCallbackEventArgs e)
        {
            OficinaDeVentaArgumento oficinaDeVentaArgumento;

            switch (e.Parameters.Split('|')[0])
            {
            case "ObtenerBodegasAsociados":
                oficinaDeVentaArgumento = new OficinaDeVentaArgumento
                {
                    OficinaDeVenta = new OficinaDeVenta
                    {
                        SALES_OFFICE_ID = int.Parse(e.Parameters.Split('|')[1])
                    }
                };
                UsuarioSeleccionoOficinaDeVentas?.Invoke(sender, oficinaDeVentaArgumento);
                UiVistaBodegasAsociadasAOficinaDeVentas.JSProperties.Add("cpTerminoDeCargarBodegasAsociadas", "Enabled");
                break;

            case "ObtenerBodegasAsociadasBatch":
                oficinaDeVentaArgumento = new OficinaDeVentaArgumento
                {
                    OficinaDeVenta = new OficinaDeVenta
                    {
                        SALES_OFFICE_ID = int.Parse(e.Parameters.Split('|')[1])
                    }
                };
                UsuarioSeleccionoOficinaDeVentas?.Invoke(sender, oficinaDeVentaArgumento);
                UiVistaBodegasAsociadasAOficinaDeVentas.JSProperties.Add("cpTerminoDeCargarBodegasBatch", "Enabled");
                break;

            case "EliminarTodasBodegasOficina":
                foreach (var item in (IList <Bodega>)Session["UiVistaBodegasAsociadasAOficinaDeVentas"])
                {
                    UsuarioDeseaEliminarBodegaALaOficinaDeVentas?.Invoke(sender, new OficinaDeVentaArgumento
                    {
                        OficinaDeVenta = new OficinaDeVenta
                        {
                            SALES_OFFICE_ID = int.Parse(e.Parameters.Split('|')[1])
                        }
                        ,
                        Bodega = item
                    });
                }
                BodegasAsociadas = null;
                UiVistaBodegasAsociadasAOficinaDeVentas.JSProperties.Add("cpTerminoDeCargarBodegas", "Enabled");
                break;

            case "EliminarTodasBodegasNuevaOficina":
                oficinaDeVentaArgumento = new OficinaDeVentaArgumento
                {
                    OficinaDeVenta = new OficinaDeVenta
                    {
                        SALES_OFFICE_ID = int.Parse(e.Parameters.Split('|')[1])
                    }
                };
                UsuarioSeleccionoOficinaDeVentas?.Invoke(sender, oficinaDeVentaArgumento);
                BodegasAsociadas = null;
                UiVistaBodegasAsociadasAOficinaDeVentas.JSProperties.Add("cpTerminoDeCargarBodegas", "Enabled");
                break;

            case "LimpiarRegistrosCreacion":
                BodegasAsociadas = null;
                UiVistaBodegasAsociadasAOficinaDeVentas.JSProperties.Add("cpTerminoDeCargarBodegasCreacion", "Enabled");
                break;
            }
        }