public async Task <ActionResult <FornecedorModel> > PutFornecedorPessoaFisica(FornecedorPessoaFisicaModel model, int fornecedorId)
        {
            try
            {
                var fornecedor = await _fornecedorService.GetFornecedorByIdAsync(fornecedorId);

                if (fornecedor == null)
                {
                    return(NotFound("Fornecedor não encontrado"));
                }

                _mapper.Map(model, fornecedor);

                if (await _fornecedorService.SaveChangesAsync())
                {
                    return(_mapper.Map <FornecedorModel>(fornecedor));
                }
                else
                {
                    return(BadRequest("Falha ao atualizar fornecedor"));
                }
            }
            catch (Exception ex)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Falha no banco de dados - {ex.ToString()}"));
            }
        }
        public async Task <ActionResult <FornecedorPessoaFisicaModel> > PostPessoaFisica(FornecedorPessoaFisicaModel model, int empresaId)
        {
            try
            {
                var empresa = await _empresaService.GetEmpresaByIdAsync(empresaId);

                if (empresa == null)
                {
                    return(NotFound("Empresa não encontrada"));
                }

                var fornecedor = _mapper.Map <Fornecedor>(model);
                if (_fornecedorService.FornecedorExistsOnEmpresa(fornecedor.CPFCNPJ, empresaId))
                {
                    return(BadRequest("CPF já cadastrado na empresa selecionada"));
                }

                var today           = DateTime.Today;
                var idadeFornecedor = today.Year - fornecedor.DataNascimento.Value.Year;
                if (empresa.UF == "PR" && idadeFornecedor < 18)
                {
                    return(BadRequest("Não é permitido cadastro de fornecedor menor de idade em empresa do PR"));
                }

                empresa.Fornecedors.Add(fornecedor);

                if (await _fornecedorService.SaveChangesAsync())
                {
                    return(Created($"api/empresas/{fornecedor.FornecedorId}/fornecedores/{fornecedor.FornecedorId}", _mapper.Map <FornecedorPessoaFisicaModel>(fornecedor)));
                }

                else
                {
                    return(BadRequest("Falha ao adicionar um novo fornecedor"));
                }
            }
            catch (Exception ex)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Falha no banco de dados - {ex.ToString()}"));
            }
        }