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))); } }