/*
 * 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 tipiGS {
    public int chave = 0;
    public String produto = null;
    public String codigo = null;
    public String aliquota = null;
    public String auditoria = null;

    private static PreparedStatement stm = null;
    private static ResultSet rs = null;
    private static Statement stmt;

    public tipiGS(){
    }

    public String getAliquota() {
        return aliquota;
    }

    public void setAliquota(String aliquota) {
        this.aliquota = aliquota;
    }

    public String getAuditoria() {
        return auditoria;
    }

    public void setAuditoria(String auditoria) {
        this.auditoria = auditoria;
    }

    public int getChave() {
        return chave;
    }

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

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getProduto() {
        return produto;
    }

    public void setProduto(String produto) {
        this.produto = produto;
    }

    public static boolean inserirTipi (tipiGS tipi){
        try{
            stm = Conexao.conectar().prepareStatement("insert into tipi(idtipi, produto, "
                    + "codigo, aliquota, auditoria) values (?,?,?,?,?)");
            stm.setInt(1, tipi.getChave());
            stm.setString(2, tipi.getProduto());
            stm.setString(3, tipi.getCodigo());
            stm.setString(4, tipi.getAliquota());
            stm.setString(5, tipi.getAuditoria());
            stm.executeUpdate();
            stm.close();
            return true;
        }catch(Exception e){
            System.out.println("Erro ao inserir");
            return false;
        }
    }

    public static boolean alterarTipi (tipiGS tipi){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update tipi set "
                    + "produto = ?, codigo = ?, auditoria = ?, "
                    + "aliquota = ? where idtipi = ?");
            stm.setString(1, tipi.getProduto());
            stm.setString(2, tipi.getCodigo());
            stm.setString(3, tipi.getAuditoria());
            stm.setString(4, tipi.getAliquota());
            stm.setInt(5, tipi.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 excluiTipi (tipiGS tipi){
        boolean testa = false;
        try {
            stm = Conexao.conectar().prepareStatement("delete from tipi "
                    + "where idtipi = ?");
            stm.setInt(1, tipi.getChave());
            int executeUpdate = stm.executeUpdate();

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

    public void selTipi(String Id) {
        try {
            tipiGS scid = null;
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("Select * From tipi Where idtipi ='"+Id+"'");
            if (rs.next()) {
                scid = new tipiGS();
                scid.setChave(rs.getInt("chave"));
                scid.setProduto(rs.getString("produto"));
                scid.setCodigo(rs.getString("codigo"));
                scid.setAliquota(rs.getString("aliquota"));
                scid.setAuditoria(rs.getString("auditoria"));
            }
            rs.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

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

    public void listaTipi(){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("select * from tipi order by descricao");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public ResultSet getResultado(){
        return rs;
    }

}
