Package dao

Source Code of dao.FormularioAvaliacaoDAO

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

package dao;

import controller.AvaliacaoController;
import controller.operating.Strings;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.FormularioAvaliacao;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;

/**
*
* @author Consult
*/
public class FormularioAvaliacaoDAO {
   
    private AvaliacaoItemDAO avaliacaoItem;

    public FormularioAvaliacaoDAO() {
        this.avaliacaoItem = new AvaliacaoItemDAO();
    }

    public FormularioAvaliacaoDAO(AvaliacaoItemDAO avalicaoItem) {
        this.avaliacaoItem = avalicaoItem;
    }
   
    public FormularioAvaliacao getFormularioAvaliacao(String pCodigoFormulario, String pCodigoAvalicao) {

        Connection conexao = Conexao.getSqlConnection();
        FormularioAvaliacao formularioAvaliacao = new FormularioAvaliacao();
        try {
            Statement statement = conexao.createStatement();
            statement.executeQuery("SELECT * FROM avaliacaoFormulario " +
                    "WHERE codigoFormularioAvaliacao = " + pCodigoFormulario +
                    " AND codigoAvaliacao = " + pCodigoAvalicao);
       
            ResultSet resultSet = statement.getResultSet();
            while (resultSet.next()) {
                int codigoFormulario = resultSet.getInt("codigoFormularioAvaliacao");
                int codigoAvaliacao = resultSet.getInt("codigoAvaliacao");
                AvaliacaoController avaliacaoCtrl = new AvaliacaoController();
                avaliacaoItem = new AvaliacaoItemDAO();
                formularioAvaliacao = new FormularioAvaliacao();
                formularioAvaliacao.setCodigoFormularioAvaliacao(codigoFormulario);
                formularioAvaliacao.setNomeAvaliador(resultSet.getString("nomeAvaliador"));
                formularioAvaliacao.setAvaliacao(avaliacaoCtrl.getAvaliacao(String.valueOf(codigoAvaliacao)));
                formularioAvaliacao.setListaDeItens(avaliacaoItem.getItensFormularioAvaliacao(codigoFormulario, codigoAvaliacao));
            }
          
            resultSet.close();
            statement.close();
        } catch (Exception erro) {
            JOptionPane.showMessageDialog(null, Strings.getMensagemErroRecuperacao("Formulário de Avaliação", erro.getMessage()), Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
        }
        return formularioAvaliacao;
    }

    public boolean salvar(FormularioAvaliacao formulario) {
        String rollback = "O rollback não foi efetuado.";
        Connection conexao = Conexao.getSqlConnection();
        try {
            conexao.setAutoCommit(false);
            Statement statement = conexao.createStatement();
            /*System.out.println("INSERT INTO avaliacaoFormulario " +
            "(codigoFormularioAvaliacao, codigoAvaliacao, nomeAvaliador) " +
            "VALUES(" + formulario.getCodigoFormularioAvaliacao() +
            ", " + formulario.getAvaliacao().getCodigoAvaliacao() +
            ", '" + formulario.getNomeAvaliador() + "')");*/
           
            statement.execute(
            "INSERT INTO avaliacaoFormulario " +
            "(codigoFormularioAvaliacao, codigoAvaliacao, nomeAvaliador) " +
            "VALUES(" + formulario.getCodigoFormularioAvaliacao() +
            ", " + formulario.getAvaliacao().getCodigoAvaliacao() +
            ", '" + formulario.getNomeAvaliador() + "')");
           
            avaliacaoItem = new AvaliacaoItemDAO();
            avaliacaoItem.salvarItensFormularioAvaliacao(formulario.getListaDeItens());
           
            conexao.commit();
            conexao.setAutoCommit(true);
            statement.close();
       
            return true;
        } catch (Exception erro) {
            try {
                conexao.rollback();
                rollback = "O rollback foi efetuado.";
            } catch (SQLException ex) {
                Logger.getLogger(FormularioAvaliacaoDAO.class.getName()).log(Level.SEVERE, null, ex);
            }
            JOptionPane.showMessageDialog(null, Strings.getMensagemErroPersitencia("Formulário de Avaliação", erro.getMessage()) + "." + rollback, Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
           
            return false;
        }
    }

    public boolean atualizar(FormularioAvaliacao pFormularioAvaliacao) {
        String rollback = "O rollback não foi efetuado.";
        Connection conexao = Conexao.getSqlConnection();
        try {
            conexao.setAutoCommit(false);
            Statement statement = conexao.createStatement()
           
            statement.execute("UPDATE avaliacaoFormulario " +
                "SET nomeAvaliador = '" + pFormularioAvaliacao.getNomeAvaliador() +
                "' WHERE codigoFormularioAvaliacao = " + pFormularioAvaliacao.getCodigoFormularioAvaliacao() +
                " AND codigoAvaliacao = " + pFormularioAvaliacao.getAvaliacao().getCodigoAvaliacao());
           
            avaliacaoItem = new AvaliacaoItemDAO();
            avaliacaoItem.atualizarItensFormularioAvaliacao(pFormularioAvaliacao.getListaDeItens());
           
            conexao.commit();
            conexao.setAutoCommit(true);
            statement.close();
           
            return true;
        } catch (Exception erro) {
            try {
                conexao.rollback();
                rollback = "O rollback foi efetuado.";
            } catch (SQLException ex) {
                Logger.getLogger(FormularioAvaliacaoDAO.class.getName()).log(Level.SEVERE, null, ex);
            }
            JOptionPane.showMessageDialog(null, Strings.getMensagemErroEdicao("Formulário de Avaliação", erro.getMessage()) + "." + rollback, Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
           
            return false;
        }

    }
   
    public boolean excluir(String codigoAvaliacao, String codigoFormulario)  {
        String rollback = "O rollback não foi efetuado.";
        Connection conexao = Conexao.getSqlConnection();
        try {
            conexao.setAutoCommit(false);
            Statement statement = conexao.createStatement();
           
            statement.execute("DELETE FROM avaliacaoFormulario " +
                    "WHERE codigoFormularioAvaliacao = " + codigoFormulario +
                    " AND codigoAvaliacao = " + codigoAvaliacao);
           
            avaliacaoItem = new AvaliacaoItemDAO();
            avaliacaoItem.excluirItensFormularioAvaliacao(codigoAvaliacao, codigoFormulario);
           
            conexao.commit();
            conexao.setAutoCommit(true);
            statement.close();
           
            return true;
       } catch (Exception erro) {
            try {
                conexao.rollback();
                rollback = "O rollback foi efetuado.";
            } catch (SQLException ex) {
                Logger.getLogger(FormularioAvaliacaoDAO.class.getName()).log(Level.SEVERE, null, ex);
            }
            JOptionPane.showMessageDialog(null, Strings.getMensagemErroExclusao("Formulário de Avaliação", erro.getMessage()) + "." + rollback, Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
           
            return false;
        }
    }
   
    public String getNovoCodigo(String codigoAvalicao) {

        Connection conexao = Conexao.getSqlConnection();
        String[] codigo = {"", "", ""};
        try {
            Statement statement = conexao.createStatement();
            statement.executeQuery("SELECT * FROM avaliacaoformulario WHERE codigoAvaliacao = " + codigoAvalicao);
            ResultSet resultSet = statement.getResultSet();
            int contador = 0;
            while (resultSet.next()) {
                codigo[contador] = String.valueOf(resultSet.getInt("codigoFormularioAvaliacao"));               
                contador++;
            }
            resultSet.close();
            statement.close();
            for(int i = 0; i < 3; i++){
                String codigoFormulario = String.valueOf(i + 1);
                if(!codigo[i].equals(codigoFormulario)){
                    return codigoFormulario;
                }
            }
           
        } catch (Exception erro) {
            JOptionPane.showMessageDialog(null, Strings.getMensagemErroNovoCodigo("Formulário de Avaliação", erro.getMessage()), Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
        }
        return "";
    }
}
TOP

Related Classes of dao.FormularioAvaliacaoDAO

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.