/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package database;

import java.sql.*;

/**
 *
 * @author awolf
 */
public class Database {

    private Connection conexao = null;
    private final String nomeDriver = "org.postgresql.Driver";
    private final String localBancoDados = "jdbc:postgresql://127.0.0.1:5432/wolf";
    private final String usuario = "postgres";
    private final String senha = "postgres";

    public Database() {
        try {
            Class.forName(nomeDriver).newInstance();
            conexao = DriverManager.getConnection(localBancoDados, usuario, senha);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public boolean validaUsuarioSenha(String usuario, String senha) {
        boolean resp = false;
        resp = usuario.equals("admin") && senha.equals("admin");
        return resp;
    }

    public ResultSet consulta(String sql) {
        ResultSet rs = null;
        try {
            Statement st = conexao.createStatement();
            rs = st.executeQuery(sql);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return rs;
    }

    public boolean excluir(String tabela, String id) {
        boolean resp = false;
        try {
            int i = Integer.parseInt(id);
            Statement st = conexao.createStatement();
            st.execute("DELETE FROM " + tabela + " WHERE id=\'" + i + "\'");
            resp = true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return resp;
    }

    public boolean insere(String tabela, String campos[], String valores[]) {
        boolean resp = false;
        try {
            Statement st = conexao.createStatement();
            String sql = "INSERT INTO " + tabela;
            String c = "";
            String v = "";
            for (int i = 0; i < campos.length; i++) {
                c += campos[i] + ",";
                v += "\'" + valores[i] + "\',";
            }
            c = c.substring(0, c.length() - 1);
            v = v.substring(0, v.length() - 1);

            sql += "(" + c + ")values(" + v + ")";
            st.execute(sql);
            resp = true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return resp;
    }

    public boolean altera(String tabela, String campos[], String valores[]) {
        boolean resp = false;
        System.out.println("ALTERANDO");
        resp = true;
        return resp;
    }

    public ResultSet consultaID(String tabela, String id) {
        String sql = "SELECT * FROM " + tabela;
        sql += " WHERE id = \'" + id + "\'";
        return consulta(sql);
    }
}
