public static bool Alterar(Funcionarios funcionario)
        {
            try
            {
                using (OracleCommand c = ConexaoOracle.ObterConexao().CreateCommand())
                {
                    c.CommandType = System.Data.CommandType.Text;
                    c.CommandText = "UPDATE FUNCIONARIOS SET cargoid=:cargoid, nome=:nome, bairro=:bairro, estado=:estado, endereco=:endereco, numero=:numero, observacao=:observacao, ativo=:ativo WHERE funcionarioid = :codigo";
                    c.Parameters.Add("cargoid", OracleType.Int32).Value = funcionario.getCargoId();
                    c.Parameters.Add("nome", OracleType.VarChar).Value = funcionario.getNome();
                    c.Parameters.Add("bairro", OracleType.VarChar).Value = funcionario.getBairro();
                    c.Parameters.Add("estado", OracleType.VarChar).Value = funcionario.getEstado();
                    c.Parameters.Add("endereco", OracleType.VarChar).Value = funcionario.getEndereco();
                    c.Parameters.Add("numero", OracleType.VarChar).Value = funcionario.getNumero();
                    c.Parameters.Add("observacao", OracleType.VarChar).Value = funcionario.getObservacao();
                    c.Parameters.Add("ativo", OracleType.Int32).Value = funcionario.getAtivo();
                    c.Parameters.Add("codigo", OracleType.Int32).Value = funcionario.getFuncionarioId();

                    c.ExecuteNonQuery();
                    return true;
                }
            }
            catch (OracleException e)
            {
                throw e;
            }
        }
 public static bool Inserir(Funcionarios funcionario)
 {
     try
     {
         using (OracleCommand c = ConexaoOracle.ObterConexao().CreateCommand())
         {
             c.CommandType = System.Data.CommandType.Text;
             c.CommandText = "INSERT into FUNCIONARIOS values(FUNCIONARIOS_SEQ.NEXTVAL, :cargoid, :nome, :bairro, :estado, :endereco, :numero, :observacao, :ativo)";
             c.Parameters.Add("cargoid", OracleType.Int32).Value = funcionario.getCargoId();
             c.Parameters.Add("bairro", OracleType.VarChar).Value = funcionario.getBairro();
             c.Parameters.Add("nome", OracleType.VarChar).Value = funcionario.getNome();
             c.Parameters.Add("estado", OracleType.VarChar).Value = funcionario.getEstado();
             c.Parameters.Add("endereco", OracleType.VarChar).Value = funcionario.getEndereco();
             c.Parameters.Add("numero", OracleType.VarChar).Value = funcionario.getNumero();
             c.Parameters.Add("observacao", OracleType.VarChar).Value = funcionario.getObservacao();
             c.Parameters.Add("ativo", OracleType.Int32).Value = funcionario.getAtivo();
             c.ExecuteNonQuery();
             return true;
         }
     }
     catch (OracleException e)
     {
         throw e;
     }
 }
        public static bool ValidaCaracter(Funcionarios funcionario)
        {
            for (int i = 0; i < funcionario.getNome().Length; i++)
                if (funcionario.getNome()[i].Equals('0') || funcionario.getNome()[i].Equals('1') || funcionario.getNome()[i].Equals('2') || funcionario.getNome()[i].Equals('3') || funcionario.getNome()[i].Equals('4') || funcionario.getNome()[i].Equals('5') || funcionario.getNome()[i].Equals('6') || funcionario.getNome()[i].Equals('7') || funcionario.getNome()[i].Equals('8') || funcionario.getNome()[i].Equals('9'))
                    throw new CaracterInvalidoException("O nome não pode conter caracter numérico!");

            for (int i = 0; i < funcionario.getNome().Length; i++)
                if (funcionario.getNome()[i].Equals('*') || funcionario.getNome()[i].Equals('&') || funcionario.getNome()[i].Equals('(') || funcionario.getNome()[i].Equals(')') || funcionario.getNome()[i].Equals('!') || funcionario.getNome()[i].Equals('@') || funcionario.getNome()[i].Equals('#') || funcionario.getNome()[i].Equals('$') || funcionario.getNome()[i].Equals('%') || funcionario.getNome()[i].Equals('¨') || funcionario.getNome()[i].Equals('-') || funcionario.getNome()[i].Equals('_') || funcionario.getNome()[i].Equals('+') || funcionario.getNome()[i].Equals('=') || funcionario.getNome()[i].Equals('§') || funcionario.getNome()[i].Equals(',') || funcionario.getNome()[i].Equals('.') || funcionario.getNome()[i].Equals('/') || funcionario.getNome()[i].Equals('?') || funcionario.getNome()[i].Equals(':') || funcionario.getNome()[i].Equals(';') || funcionario.getNome()[i].Equals('|') || funcionario.getNome()[i].Equals(']') || funcionario.getNome()[i].Equals('}') || funcionario.getNome()[i].Equals('{') || funcionario.getNome()[i].Equals('['))
                    throw new CaracterInvalidoException("O nome não pode conter caracter especial!");
            for (int i = 0; i < funcionario.getBairro().Length; i++)
                if (funcionario.getBairro()[i].Equals('*') || funcionario.getBairro()[i].Equals('&') || funcionario.getBairro()[i].Equals('(') || funcionario.getBairro()[i].Equals(')') || funcionario.getBairro()[i].Equals('!') || funcionario.getBairro()[i].Equals('@') || funcionario.getBairro()[i].Equals('#') || funcionario.getBairro()[i].Equals('$') || funcionario.getBairro()[i].Equals('%') || funcionario.getBairro()[i].Equals('¨') || funcionario.getBairro()[i].Equals('-') || funcionario.getBairro()[i].Equals('_') || funcionario.getBairro()[i].Equals('+') || funcionario.getBairro()[i].Equals('=') || funcionario.getBairro()[i].Equals('§') || funcionario.getBairro()[i].Equals(',') || funcionario.getBairro()[i].Equals('.') || funcionario.getBairro()[i].Equals('/') || funcionario.getBairro()[i].Equals('?') || funcionario.getBairro()[i].Equals(':') || funcionario.getBairro()[i].Equals(';') || funcionario.getBairro()[i].Equals('|') || funcionario.getBairro()[i].Equals(']') || funcionario.getBairro()[i].Equals('}') || funcionario.getBairro()[i].Equals('{') || funcionario.getBairro()[i].Equals('['))
                    throw new CaracterInvalidoException("O bairro não pode conter caracter especial!");
            int qtdEspaco = 0;
            for (int i = 0; i < funcionario.getNumero().Length; i++)
                if (funcionario.getNumero()[i].Equals(' '))
                    qtdEspaco++;
            if (qtdEspaco > 1)
                throw new CaracterInvalidoException("O telefone não pode conter espaço!");
            return true;
        }