/// <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);
        }
        //Salvar um novo registro ou atualizar um existente
        public RedeBinaria salvar(NovoMembroRede ONovoMembro)
        {
            var ORedeBinaria = this.db.RedeBinaria.FirstOrDefault(x => x.idMembro == ONovoMembro.idMembroPai);

            if (ORedeBinaria == null)
            {
                ORedeBinaria = new RedeBinaria();

                ORedeBinaria.idMembro = ONovoMembro.idMembroPai;

                if (ONovoMembro.flagEsquerda == true)
                {
                    ORedeBinaria.idMembroEsquerda = ONovoMembro.idMembro;

                    ORedeBinaria.dtCadastroEsquerda = DateTime.Now;
                }
                else
                {
                    ORedeBinaria.idMembroDireita = ONovoMembro.idMembro;

                    ORedeBinaria.dtCadastroDireita = DateTime.Now;
                }
            }

            if (ORedeBinaria.id > 0)
            {
                this.atualizar(ORedeBinaria);
            }

            if (ORedeBinaria.id == 0)
            {
                this.inserir(ORedeBinaria);
            }

            return(ORedeBinaria);
        }