コード例 #1
0
        public async Task deve_criar_uma_nova_pf_com_os_dados_corretos(
            string nome,
            string telefone,
            string endereco,
            string email,
            string cpf,
            int generoId,
            string dataNascimentoString
            )
        {
            var dataNascimento = Convert.ToDateTime(dataNascimentoString);

            var pf = new PessoaFisicaBuilder()
                     .ComNome(nome)
                     .ComTelefone(telefone)
                     .ComEndereco(endereco)
                     .ComEmail(email)
                     .ComCpf(cpf)
                     .ComGenero(generoId)
                     .ComDataNascimento(dataNascimento)
                     .Build();

            await _repo.CreateAsync(pf);

            Assert.Equal(1, pf.Id);
        }
コード例 #2
0
        public async Task <PessoaFisicaResponseDto> CreateAsync(PessoaFisicaRequestDto model)
        {
            var pessoa = new PessoaFisica(
                model.Nome,
                model.Telefone,
                model.Endereco,
                model.Email,
                model.Cpf,
                model.GeneroId,
                model.DataNascimento
                );

            var validationResult = await pessoa.Validate();

            if (!validationResult.IsValid)
            {
                var msg = "Ocorreu os seguintes erros:\n";

                foreach (var erro in validationResult.Errors)
                {
                    msg = $"{msg}- {erro.ErrorMessage}\n";
                }

                throw new Exception(msg);
            }

            await _repo.CreateAsync(pessoa);

            return(new PessoaFisicaResponseDto
            {
                Id = pessoa.Id,
                Cpf = pessoa.Cpf,
                DataNascimento = pessoa.DataNascimento,
                Email = pessoa.Email,
                Endereco = pessoa.Endereco,
                Nome = pessoa.Nome,
                Telefone = pessoa.Telefone,
                GeneroId = pessoa.GeneroId
            });
        }