コード例 #1
0
        public ArvoreRaizDto Arvore(string nome, string sobrenome)
        {
            var pessoaRaiz = _pessoaRepository.BuscaPorNomeSobrenome(nome, sobrenome);

            if (pessoaRaiz == null)
            {
                this.AddNotification("pessoaRaiz", "Árvore não existente para essa pessoa");
            }
            if (this.Invalid)
            {
                return(null);
            }

            pessoaRaiz.Pai = pessoaRaiz.IdPai == null ? null : BuscaAscendente(pessoaRaiz.IdPai);
            pessoaRaiz.Mae = pessoaRaiz.IdMae == null ? null : BuscaAscendente(pessoaRaiz.IdMae);

            var pessoaRaizDto = new ArvoreFilhoDto()
            {
                Id           = pessoaRaiz.PessoaId,
                NomeCompleto = pessoaRaiz.NomeCompleto(),
                Filhos       = null
            };

            BuscaFilhos(pessoaRaizDto);

            return(new ArvoreRaizDto()
            {
                NomeCompleto = pessoaRaiz.NomeCompleto(),
                NomeCompletoPai = pessoaRaiz.Pai?.NomeCompleto(),
                NomeCompletoMae = pessoaRaiz.Mae?.NomeCompleto(),
                Filhos = pessoaRaizDto.Filhos
            });
        }
コード例 #2
0
        private void BuscaFilhos(ArvoreFilhoDto pessoa)
        {
            var busca = _pessoaRepository.BuscaFilhos(pessoa.Id.Value).ToList();

            if (busca.Count > 0)
            {
                foreach (ArvoreFilhoDto filho in busca)
                {
                    BuscaFilhos(filho);
                    if (pessoa.Filhos == null)
                    {
                        pessoa.Filhos = new List <ArvoreFilhoDto>();
                    }
                    pessoa.Filhos.Add(filho);
                }
            }
        }