Example #1
0
        public async Task <PessoaDto> Armazenar(PessoaDto dto)
        {
            if (!ValidarDto(dto))
            {
                return(null);
            }

            var pessoa = new Pessoa(dto.Nome, dto.DataDeNascimento, (TipoDaPessoaEnum)dto.TipoDaPessoa);

            if (pessoa.Invalid)
            {
                Notificador.Notificar(pessoa.Notificacoes);
                return(null);
            }

            await _pessoaRepositorio.Incluir(pessoa);

            await _pessoaRepositorio.Salvar();

            return(new PessoaDto
            {
                Id = pessoa.Id,
                Nome = pessoa.Nome,
                DataDeNascimento = pessoa.DataDeNascimento
            });
        }