private bool SalvarFornecedor()
        {
            bool salvou = true;

            StringBuilder strValidacao = ValidarCampos();

            // Verifica se as informações do usuário são válidas
            if (strValidacao.Length > 0)
            {
                MessageBox.Show(strValidacao.ToString(), "Fornecedor", MessageBoxButton.OK, MessageBoxImage.Information);
                salvou = false;
            }
            else
            {
                Contrato.EntradaFornecedor entradaFornecedor = new Contrato.EntradaFornecedor();
                entradaFornecedor.Chave = Comum.Util.Chave;
                entradaFornecedor.UsuarioLogado = Comum.Util.UsuarioLogado.Login;
                entradaFornecedor.EmpresaLogada = Comum.Parametros.EmpresaProduto;
                if (_fornecedor == null) entradaFornecedor.Novo = true;
                entradaFornecedor.Fornecedor = new Contrato.Fornecedor();

                PreencherFornecedor(entradaFornecedor.Fornecedor);

                Servico.BrasilDidaticosClient servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint());
                Contrato.RetornoFornecedor retFornecedor = servBrasilDidaticos.FornecedorSalvar(entradaFornecedor);

                if (retFornecedor.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO && _produtos != null)
                {
                    Contrato.EntradaProdutos entradaProdutos = new Contrato.EntradaProdutos();
                    entradaProdutos.Chave = Comum.Util.Chave;
                    entradaProdutos.UsuarioLogado = Comum.Util.UsuarioLogado.Login;
                    entradaProdutos.EmpresaLogada = Comum.Util.UsuarioLogado.Empresa;
                    entradaProdutos.Fornecedor = entradaFornecedor.Fornecedor;
                    Contrato.RetornoProduto retProduto = null;

                    while (_produtos.Count > 0)
                    {
                        entradaProdutos.Produtos = _produtos.Take(_produtos.Count > MAX_ITEM_REMOVE ? MAX_ITEM_REMOVE : _produtos.Count).ToList();
                        retProduto = servBrasilDidaticos.ProdutosSalvar(entradaProdutos);
                        _produtos.RemoveRange(0, _produtos.Count > MAX_ITEM_REMOVE ? MAX_ITEM_REMOVE : _produtos.Count);
                    }

                    if (retProduto.Codigo != Contrato.Constantes.COD_RETORNO_SUCESSO)
                    {
                        MessageBox.Show(retFornecedor.Mensagem, "Fornecedor", MessageBoxButton.OK, MessageBoxImage.Error);
                        salvou = false;
                    }
                }

                if (retFornecedor.Codigo != Contrato.Constantes.COD_RETORNO_SUCESSO)
                {
                    MessageBox.Show(retFornecedor.Mensagem, "Fornecedor", MessageBoxButton.OK, MessageBoxImage.Error);
                    salvou = false;

                    if (retFornecedor.Codigo == Contrato.Constantes.COD_REGISTRO_DUPLICADO)
                    {
                        gdFornecedorDados.ColumnDefinitions[1].Width = new GridLength(TAM_COLUNA_CODIGO);
                    }
                }

                servBrasilDidaticos.Close();
            }

            return salvou;
        }