/// <summary>
        ///
        /// </summary>
        private NovoMembroRede carregarNivelPai(ConfiguracaoMembro ConfiguracaoIndicador, int idIndicador)
        {
            var NivelPai = new NovoMembroRede();

            RedeBinariaBase RedeIndicador = carregarRedeBinaria(ConfiguracaoIndicador.idChaveBinaria.toByte(), idIndicador);

            if (RedeIndicador == null)
            {
                NivelPai.idMembroPai = idIndicador;

                NivelPai.flagDireita = ConfiguracaoIndicador.idChaveBinaria == ChaveBinariaConst.DIREITA;

                NivelPai.flagEsquerda = ConfiguracaoIndicador.idChaveBinaria == ChaveBinariaConst.ESQUERDA;

                return(NivelPai);
            }

            bool flagTemTodos = RedeIndicador.flagTemTodos();

            if (flagTemTodos)
            {
                int idUltimoNivel = RedeIndicador.idMembroNivel10.toInt();

                return(carregarNivelPai(ConfiguracaoIndicador, idUltimoNivel));
            }

            var listaMembrosRede = RedeIndicador.toListaMembros();

            var MembroPai = listaMembrosRede.proximoSemFilho();

            NivelPai.idMembroPai = MembroPai.id;

            NivelPai.flagDireita = RedeIndicador.flagDireita;

            NivelPai.flagEsquerda = RedeIndicador.flagEsquerda;

            return(NivelPai);
        }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        public static bool flagTemTodos(this RedeBinariaBase Rede)
        {
            var listaMembros = Rede.toListaMembros();

            return(listaMembros.All(x => x.id > 0));
        }