public Boolean ActualizarGrupoEmpresarialConEMpresas(Decimal ID_GRUPOEMPRESARIAL
            , String NOMBRE
            , List<grupoEmpresarial> listaEmpresas)
        {
            Conexion conexion = new Conexion(Empresa);
            conexion.IniciarTransaccion();

            Boolean correcto = true;
            try
            {
                if (ActualizarGrupoEmpresarial(ID_GRUPOEMPRESARIAL, NOMBRE, conexion) == false)
                {
                    conexion.DeshacerTransaccion();
                    correcto = false;
                }
                else
                {
                    cliente _cliente = new cliente(Empresa, Usuario);
                    DataTable tablaEmpresasAsociadas = _cliente.ObtenerEmpresasAsociadasAGrupo(ID_GRUPOEMPRESARIAL, conexion);

                    Boolean existeEmpresa = false;

                    if (tablaEmpresasAsociadas.Rows.Count > 0)
                    {
                        foreach (DataRow fila in tablaEmpresasAsociadas.Rows)
                        {
                            existeEmpresa = false;

                            foreach (grupoEmpresarial empresa in listaEmpresas)
                            {
                                if (empresa.ID_EMPRESA == Convert.ToDecimal(fila["ID_EMPRESA"]))
                                {
                                    existeEmpresa = true;
                                    break;
                                }
                            }

                            if (existeEmpresa == false)
                            {
                                if (_cliente.DesligarEmpresaDeGrupoEmpresarial(Convert.ToDecimal(fila["ID_EMPRESA"]), conexion) == false)
                                {
                                    conexion.DeshacerTransaccion();
                                    correcto = false;
                                    break;
                                }
                            }
                        }
                    }

                    if (correcto == true)
                    {
                        foreach (grupoEmpresarial empresa in listaEmpresas)
                        {
                            if (_cliente.ActualizarGrupoEmpresarialCliente(empresa.ID_EMPRESA, ID_GRUPOEMPRESARIAL, conexion) == false)
                            {
                                correcto = false;
                                conexion.DeshacerTransaccion();
                            }
                        }
                    }
                }

                if (correcto == true)
                {
                    conexion.AceptarTransaccion();
                }
            }
            catch (Exception ex)
            {
                conexion.DeshacerTransaccion();
                correcto = false;
                MensajeError = ex.Message;
            }
            finally
            {
                conexion.Desconectar();
            }

            return correcto;
        }
    private void cargar_empresas_asociadas_a_grupo(Decimal ID_GRUPOEMPRESARIAL)
    {
        cliente _cliente = new cliente(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaEmpresas = _cliente.ObtenerEmpresasAsociadasAGrupo(ID_GRUPOEMPRESARIAL);

        if (tablaEmpresas.Rows.Count <= 0)
        {
            if (_cliente.MensajeError != null)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _cliente.MensajeError, Proceso.Error);
            }

            Panel_EMPRESAS_ASOCIADAS_AL_GRUPO.Visible = false;
        }
        else
        {
            cargar_GridView_EMPRESAS_GRUPO_desde_tabal(tablaEmpresas);
        }
    }