Exemple #1
0
        public async Task <IActionResult> Post(PessoaModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            try
            {
                var cpfExiste = await _pessoaRepositorio.CpfJaExiste(new Cpf(model.Cpf));

                if (cpfExiste)
                {
                    return(BadRequest(new ResponseModel <string>(HttpStatusCode.BadRequest, "", "Cpf já cadastrado")));
                }

                var pessoa = model.ParaPessoa();

                var resultado = await _pessoaRepositorio.Inserir(pessoa);

                await _unitOfWork.SaveChanges();

                var response = new ResponseModel <PessoaDetalhesModel>(HttpStatusCode.Created, new PessoaDetalhesModel(resultado), "Pessoa casdastrado com sucesso.");
                return(Created(string.Empty, response));
            }
            catch (Exception e)
            {
                return(BadRequest(new ResponseModel <PessoaModel>(HttpStatusCode.BadRequest, null, e.Message)));
            }
        }