public async Task <ActionResult <Fornecedor> > Update([FromBody] Fornecedor fornecedor)
        {
            Fornecedor fornecedorToUpdate = await _context.Fornecedores.FindAsync(fornecedor.ID);

            fornecedorToUpdate.Empresa = await _context.Empresas.FindAsync(fornecedor.EmpresaID) ?? fornecedorToUpdate.Empresa;

            fornecedorToUpdate.Nome           = fornecedor.Nome ?? fornecedorToUpdate.Nome;
            fornecedorToUpdate.NumeroRegistro = fornecedor.NumeroRegistro ?? fornecedorToUpdate.NumeroRegistro;

            ///if (FornecedorFacade.IsPessoaFisica(fornecedorToUpdate))
            ///{
            fornecedorToUpdate.DataNascimento = fornecedor.DataNascimento ?? fornecedorToUpdate.DataNascimento;
            fornecedorToUpdate.RG             = fornecedor.RG ?? fornecedorToUpdate.RG;
            //}
            FornecedorFacade.CadastroIsValid(fornecedorToUpdate);

            Telefone currTel = new Telefone();

            if (fornecedor.Telefone != null)
            {
                foreach (var item in fornecedor.Telefone)
                {
                    currTel = await _context.Telefones.FindAsync(item.ID);

                    if (currTel != null)
                    {
                        currTel.NumeroTelefone = item.NumeroTelefone;
                    }
                    else
                    {
                        item.FornecedorID = fornecedorToUpdate.ID;
                        await _context.Telefones.AddAsync(item);
                    }
                }
            }
            await _context.SaveChangesAsync();

            return(Ok(fornecedorToUpdate));
        }
        public async Task <ActionResult <Fornecedor> > Insert(Fornecedor fornecedor)
        {
            fornecedor.Empresa = await _context.Empresas.FindAsync(fornecedor.EmpresaID);

            FornecedorFacade.CadastroIsValid(fornecedor);

            await _context.AddAsync(fornecedor);

            await _context.SaveChangesAsync();

            if (fornecedor.Telefone != null)
            {
                foreach (var item in fornecedor.Telefone)
                {
                    item.FornecedorID = fornecedor.ID;
                    await _context.Telefones.AddAsync(item);
                }
                await _context.SaveChangesAsync();
            }

            return(Ok(fornecedor));
        }