/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.ddns.grupotsergio;

import java.sql.*;

/**
 *
 * @author Edson
 */
public class ccGS {
    public int chave = 0;
    public String banco = null;
    public String nrobanco = null;
    public String agencia = null;
    public String nroagencia = null;
    public String ctacorrente = null;
    public String endereco = null;
    public String gerente = null;
    public String limite = null;
    public String ctacontabil = null;
    public String audit = null;
    private static PreparedStatement stm = null;
    private static ResultSet rs = null;
    private static Statement stmt;

    public ccGS(){
    }

    public String getAgencia() {
        return agencia;
    }

    public void setAgencia(String agencia) {
        this.agencia = agencia;
    }

    public String getAudit() {
        return audit;
    }

    public void setAudit(String audit) {
        this.audit = audit;
    }

    public String getBanco() {
        return banco;
    }

    public void setBanco(String banco) {
        this.banco = banco;
    }

    public int getChave() {
        return chave;
    }

    public void setChave(int chave) {
        this.chave = chave;
    }

    public String getCtacontabil() {
        return ctacontabil;
    }

    public void setCtacontabil(String ctacontabil) {
        this.ctacontabil = ctacontabil;
    }

    public String getCtacorrente() {
        return ctacorrente;
    }

    public void setCtacorrente(String ctacorrente) {
        this.ctacorrente = ctacorrente;
    }

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public String getGerente() {
        return gerente;
    }

    public void setGerente(String gerente) {
        this.gerente = gerente;
    }

    public String getLimite() {
        return limite;
    }

    public void setLimite(String limite) {
        this.limite = limite;
    }

    public String getNroagencia() {
        return nroagencia;
    }

    public void setNroagencia(String nroagencia) {
        this.nroagencia = nroagencia;
    }

    public String getNrobanco() {
        return nrobanco;
    }

    public void setNrobanco(String nrobanco) {
        this.nrobanco = nrobanco;
    }

    public static boolean inserirCC (ccGS cc){
        try{
            stm = Conexao.conectar().prepareStatement("INSERT INTO cc(idcc,"
            + "banco,nrobanco,agencia,nroagencia,ctacorrente,"
            + "endereco,gerente,limite,ctacontabil,auditoria) "
            + " values "
            + "(?,?,?,?,?,?,?,?,?,?,?)");
            stm.setInt(1, cc.getChave());
            stm.setString(2, cc.getBanco());
            stm.setString(3, cc.getNrobanco());
            stm.setString(4, cc.getAgencia());
            stm.setString(5, cc.getNroagencia());
            stm.setString(6, cc.getCtacorrente());
            stm.setString(7, cc.getEndereco());
            stm.setString(8, cc.getGerente());
            stm.setString(9, cc.getLimite());
            stm.setString(10, cc.getCtacontabil());
            stm.setString(11, cc.getAudit());
            stm.executeUpdate();
            stm.close();
            return true;
        }catch(Exception e){
            System.out.println("Erro ao inserir");
            return false;
        }
    }
    
    public static boolean alterarCC (ccGS cc){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE cc SET "
            + "banco = ?,nrobanco = ?,agencia = ?,"
            + "nroagencia = ?,ctacorrente = ?,endereco = ?,"
            + "gerente = ?,limite = ?,ctacontabil = ?,"
            + "auditoria = ? WHERE idcc = ?");
            stm.setString(1, cc.getBanco());
            stm.setString(2, cc.getNrobanco());
            stm.setString(3, cc.getAgencia());
            stm.setString(4, cc.getNroagencia());
            stm.setString(5, cc.getCtacorrente());
            stm.setString(6, cc.getEndereco());
            stm.setString(7, cc.getGerente());
            stm.setString(8, cc.getLimite());
            stm.setString(9, cc.getCtacontabil());
            stm.setString(10, cc.getAudit());
            stm.setInt(11, cc.getChave());

            int executeUpdate = stm.executeUpdate();

            if(executeUpdate > 0)
                testa = true;
            else
                testa = false;
        }catch(Exception e){
            System.out.println("Erro ao alterar");
        }
        return testa;
    }

    public static boolean excluiCC (ccGS cc){
        boolean testa = false;
        try {
            stm = Conexao.conectar().prepareStatement("delete from cc "
                    + "where idcc = ?");
            stm.setInt(1, cc.getChave());
            int executeUpdate = stm.executeUpdate();

            if(executeUpdate > 0)
                testa = true;
            else
                testa = false;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return testa;
    }

    public void selCC(String Id) {
        try {
            ccGS scid = null;
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("Select * From cc Where idcc ='"+Id+"'");
            if (rs.next()) {
                scid = new ccGS();
                scid.setChave(rs.getInt("chave"));
                scid.setAgencia(rs.getString("agencia"));
                scid.setAudit(rs.getString("auditoria"));
                scid.setBanco(rs.getString("banco"));
                scid.setCtacontabil(rs.getString("ctacontabil"));
                scid.setCtacorrente(rs.getString("ctacorrente"));
                scid.setEndereco(rs.getString("endereco"));
                scid.setGerente(rs.getString("gerente"));
                scid.setLimite(rs.getString("limite"));
                scid.setNroagencia(rs.getString("nroagencia"));
                scid.setNrobanco(rs.getString("nrobanco"));
            }
            rs.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static int getAutoInc(String Generator) {
        int Codigo = 0;
        try {
            PreparedStatement pstmt = Conexao.conectar().prepareStatement(
                    "Select max(idcc) From cc");
            ResultSet rss = pstmt.executeQuery();
            rss.next();
            Codigo = rss.getInt(1) + 1;
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        return Codigo;
    }

    public void listaCC(){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("select * from cc order by banco, agencia");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public ResultSet getResultado(){
        return rs;
    }

}
