public void Excluir()
        {
            if (this.Id_F == 0)
            {
                throw new Exception("É necessario a identificação do Id para Exclusão!");
            }

            DataAcessSqlCE acessoDados = new DataAcessSqlCE();

            acessoDados.Executar("DELETE FROM Funcionario WHERE Id_F = @id", this.Id_F);
        }
        //Methods
        public void Cadastrar()
        {
            if (this.Nome.Trim().Equals(string.Empty))
            {
                throw new ExceptionNomeVazio("O Campo Nome não pode ser vazio"); //exceção explícita
            }
            DataAcessSqlCE acessoBanco = new DataAcessSqlCE();

            if (nomeExiste(this.Nome.Trim()))
            {
                throw new ExceptionRegistroExistente("Já Existe um Departamento com este nome");
            }

            acessoBanco.Executar("INSERT INTO Departamento (Nome) VALUES", this.Nome);
        }
        //Metodos
        public void Cadastrar()
        {
            if (string.IsNullOrEmpty(this.Nome))
            {
                throw new ExceptionNomeVazio("O campo nome é obrigatório");
            }

            if (cpfExiste(this.CPF))
            {
                throw new ExceptionRegistroExistente("Já possui um Funcionario com o CPF cadastrado");
            }

            DataAcessSqlCE acessoDados = new DataAcessSqlCE();

            acessoDados.Executar("INSERT INTO Funcionario (Nome,   CPF,   DataNascimento,   Sexo,   Celular,    Foto,      Email,   DataAdmissao,   Id_Departamento, Salario,    Ativo) VALUES",
                                 this.Nome, this.CPF, this.DataNascimento, this.Sexo, this.Celular, this.Foto, this.Email, this.DataAdmissao, (this.Departamento == null ? (int?)null : (int?)this.Departamento.Id_D), this.Salario, this.Ativo);
        }
        public void SalvarAlteracoes()
        {
            if (this.Nome.Trim().Equals(string.Empty))
            {
                throw new ExceptionNomeVazio("O Campo Nome não pode ser vazio"); //exceção explícita
            }
            DataAcessSqlCE acessoBanco = new DataAcessSqlCE();

            if (nomeExiste(this.Nome))
            {
                throw new ExceptionRegistroExistente("Já Existe um Departamento com este nome");
            }

            acessoBanco.Executar("UPDATE Departamento SET Nome " +
                                 "WHERE Id_D = @id", this.Id_D,
                                 this.Nome);
        }
        public void SalvarAlteracoes()
        {
            if (string.IsNullOrEmpty(this.Nome))
            {
                throw new ExceptionNomeVazio("O campo nome é obrigatório");
            }

            DataAcessSqlCE acessoDados = new DataAcessSqlCE();
            string         cpfOld      = acessoDados.ObterUnicoValor("SELECT CPF FROM Funcionario WHERE Id_F = @id", this.Id_F).ToString();

            if (cpfOld != this.CPF && cpfExiste(this.CPF))
            {
                throw new ExceptionRegistroExistente("Já possui um Funcionario com o CPF cadastrado");
            }


            acessoDados.Executar("UPDATE Funcionario SET Nome, CPF, DataNascimento, Sexo, Celular, Foto, Email, DataAdmissao, Id_Departamento, Salario, Ativo " +
                                 "WHERE Id_F = @idfunc", this.Id_F,
                                 this.Nome, this.CPF, this.DataNascimento, this.Sexo, this.Celular, this.Foto, this.Email, this.DataAdmissao, (this.Departamento == null ? (int?)null : (int?)this.Departamento.Id_D), this.Salario, this.Ativo);
        }
        public void Excluir()
        {
            DataAcessSqlCE acessoBanco = new DataAcessSqlCE();

            acessoBanco.Executar("DELETE FROM Departamento WHERE Id_D = @id", this.Id_D);
        }