public static int TotalDeFuncionariosCadastrados()
        {
            DataAcessSqlCE acessoDados = new DataAcessSqlCE();
            string         query       = "SELECT COUNT(Id_F) FROM Funcionario";

            return(Convert.ToInt32(acessoDados.ObterUnicoValor(query)));
        }
        public static int BuscarProxIdACadastrar()
        {
            DataAcessSqlCE acessoDados = new DataAcessSqlCE();
            string         query       = @"SELECT AUTOINC_NEXT 
                                FROM INFORMATION_SCHEMA.COLUMNS 
                                WHERE TABLE_NAME='Funcionario' 
                                AND COLUMN_NAME='Id_F'";

            return(Convert.ToInt32(acessoDados.ObterUnicoValor(query)));
        }
        private bool cpfExiste(string CPF)
        {
            DataAcessSqlCE acessoBanco  = new DataAcessSqlCE();
            int            qntRegistros = (int)acessoBanco.ObterUnicoValor("SELECT COUNT('Id_F') FROM Funcionario WHERE CPF = @valor", CPF);

            if (qntRegistros > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        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);
        }
        private bool nomeExiste(string nomeDepartamento)
        {
            //verifica se ja existe o departamento
            try
            {
                DataAcessSqlCE acessoBanco = new DataAcessSqlCE();
                //int qtdRegistros = acessoBanco.VerificarSeExiste("Departamento", "Nome", nomeDepartamento);
                int qntRegistros = (int)acessoBanco.ObterUnicoValor("SELECT COUNT('Id_D') FROM Departamento WHERE Nome = @valor", nomeDepartamento);

                if (qntRegistros > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch
            {
                throw;
            }
        }