public async Task <ResponsePessoaFisicaAddModel> Add(PessoaFisicaAddModel model) { // TODO: Validation: (CPF e Id não podem ser repetidos) try { _pessoaService.ConfigurePessoaToAdd(model.Pessoa); foreach (var documento in model.Pessoa.Documentos) { _documentoService.ConfigureDocumentoToAdd(documento); } var pessoaFisicaEntity = _mapper.Map <PessoaFisicaEntity>(model); var pessoaFisicaEntityDb = await _pessoaFisicaRepository.Insert(pessoaFisicaEntity); _uow.SaveChanges(); return(new ResponsePessoaFisicaAddModel { PessoaFisica = _mapper.Map <PessoaFisicaModel>((PessoaFisicaEntity)pessoaFisicaEntityDb.Entity), Message = "Pessoa Física Registrada com Sucesso", Success = true }); } catch (Exception ex) { return(new ResponsePessoaFisicaAddModel { PessoaFisica = null, Message = ex.Message, Success = false }); } }