private static PessoaJurídica TentaCadastrarPessoaJurídica(CadastroPessoa dlg)
        {
            bool insistir;
            PessoaJurídica entidade = null;

            do
            {
                insistir = false;

                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    AguardeDB.Mostrar();

                    entidade = (PessoaJurídica)dlg.Pessoa;

                    if (PessoaJurídica.VerificarExistênciaCNPJ(entidade))
                    {
                        AguardeDB.Fechar();

                        insistir = MessageBox.Show(
                            "O CNPJ " + entidade.CNPJ + " já encontra-se cadastrado no banco de dados.",
                            "Cadastro de Pessoa Jurídica",
                            MessageBoxButtons.RetryCancel, MessageBoxIcon.Information) == DialogResult.Retry;
                    }
                    else
                    {
                        try
                        {
                            entidade.Cadastrar();
                            AguardeDB.Fechar();
                        }
                        catch (Exception e)
                        {
                            Acesso.Comum.Usuários.UsuárioAtual.RegistrarErro(e);
                            AguardeDB.Fechar();

                            insistir = MessageBox.Show(
                                "Não foi possível cadastrar a pessoa jurídica. Por favor, verifique se os dados estão corretos.",
                                "Erro cadastrando pessoa jurídica",
                                MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) == DialogResult.Retry;
                        }
                    }
                }
                else
                    entidade = null;
            } while (insistir);

            return entidade;
        }
        private static void TentaCadastrarPessoaFísica(TipoPessoaFísica tipoPessoaFísica, ref PessoaFísica entidade, CadastroPessoa janela)
        {
            bool insistir;

            do
            {
                insistir = false;

                if (janela.ShowDialog() == DialogResult.OK)
                {
                    switch (tipoPessoaFísica)
                    {
                        case TipoPessoaFísica.Outro:
                            entidade = (PessoaFísica)janela.Pessoa;
                            break;

                        case TipoPessoaFísica.Funcionário:
                            entidade = ((CadastroFuncionário)janela).Funcionário;
                            break;

                        case TipoPessoaFísica.Representante:
                            entidade = (PessoaFísica)((CadastroRepresentante)janela).Pessoa;
                            break;

                        default:
                            throw new NotSupportedException("Tipo de pessoa-física não suportado.");
                    }

                    AguardeDB.Mostrar();

                    if (entidade.CPF != null && PessoaFísica.VerificarExistênciaCPF(entidade.CPF))
                    {
                        AguardeDB.Fechar();

                        insistir = MessageBox.Show(
                            "O CPF " + entidade.CPF + " já encontra-se cadastrado no banco de dados.",
                            "Cadastro de Pessoa Física",
                            MessageBoxButtons.RetryCancel, MessageBoxIcon.Information) == DialogResult.Retry;
                    }
                    else
                    {
                        try
                        {
                            entidade.Cadastrar();
                            AguardeDB.Fechar();
                        }
                        catch (Exception e)
                        {
                            Acesso.Comum.Usuários.UsuárioAtual.RegistrarErro(e);
                            AguardeDB.Fechar();

                            insistir = MessageBox.Show(
                                "Não foi possível cadastrar a pessoa física. Por favor, verifique se os dados estão corretos.",
                                "Erro cadastrando pessoa física",
                                MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) == DialogResult.Retry;
                        }
                    }
                }
            } while (insistir);
        }