/// <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); }
/// <summary> /// /// </summary> public static bool flagTemTodos(this RedeBinariaBase Rede) { var listaMembros = Rede.toListaMembros(); return(listaMembros.All(x => x.id > 0)); }