/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package dao;
import controller.CandidatoController;
import controller.operating.Strings;
import model.AulaAvaliativa;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import model.Candidato;
import util.Data;
/**
*
* @author Consult
*/
public class AulaAvaliativaDAO {
public AulaAvaliativa getAulaAvaliativa(String codigo) {
Connection conexao = Conexao.getSqlConnection();
AulaAvaliativa aulaAvaliativa = new AulaAvaliativa();
try {
Statement statement = conexao.createStatement();
statement.executeQuery("SELECT * FROM aulaAvaliativa " +
"WHERE codigoAulaAvaliativa = " + codigo);
ResultSet resultSet = statement.getResultSet();
while (resultSet.next()) {
CandidatoController candidatoCtrl = new CandidatoController();
Candidato candidato = new Candidato();
candidato = candidatoCtrl.getCandidatoSemFiltro(String.valueOf(resultSet.getInt("codigoPessoa")));
aulaAvaliativa = new AulaAvaliativa();
aulaAvaliativa.setCodigoAulaAvaliativa(resultSet.getInt("codigoAulaAvaliativa"));
aulaAvaliativa.setData(Data.converteDataMysqlBr(resultSet.getString("data")));
aulaAvaliativa.setDuracao(resultSet.getString("duracao"));
aulaAvaliativa.setLocal(resultSet.getString("local"));
aulaAvaliativa.setConteudo(resultSet.getString("conteudo"));
aulaAvaliativa.setResultado(resultSet.getString("resultado"));
aulaAvaliativa.setCandidato(candidato);
}
resultSet.close();
statement.close();
} catch (Exception erro) {
JOptionPane.showMessageDialog(null, Strings.getMensagemErroRecuperacao("Aula Avaliativa", erro.getMessage()), Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
}
return aulaAvaliativa;
}
public ArrayList<AulaAvaliativa> getAulasAvaliativas() {
Connection conexao = Conexao.getSqlConnection();
ArrayList<AulaAvaliativa> listaDeAulasAvaliativas = new ArrayList<AulaAvaliativa>();
try {
Statement objSTM = conexao.createStatement();
objSTM.executeQuery("SELECT * FROM aulaAvaliativa");
ResultSet resultSet = objSTM.getResultSet();
AulaAvaliativa aulaAvaliativa;
while (resultSet.next()) {
CandidatoController candidatoCtrl = new CandidatoController();
Candidato candidato = new Candidato();
candidato = candidatoCtrl.getCandidatoSemFiltro(String.valueOf(resultSet.getInt("codigoPessoa")));
aulaAvaliativa = new AulaAvaliativa();
aulaAvaliativa.setCodigoAulaAvaliativa(resultSet.getInt("codigoAulaAvaliativa"));
aulaAvaliativa.setData(Data.converteDataMysqlBr(resultSet.getString("data")));
aulaAvaliativa.setDuracao(resultSet.getString("duracao"));
aulaAvaliativa.setLocal(resultSet.getString("local"));
aulaAvaliativa.setConteudo(resultSet.getString("conteudo"));
aulaAvaliativa.setResultado(resultSet.getString("resultado"));
aulaAvaliativa.setCandidato(candidato);
listaDeAulasAvaliativas.add(aulaAvaliativa);
}
resultSet.close();
objSTM.close();
} catch (Exception erro) {
JOptionPane.showMessageDialog(null, Strings.getMensagemErroRecuperacao("Aulas Avaliativas", erro.getMessage()), Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
}
return listaDeAulasAvaliativas;
}
public boolean salvar(AulaAvaliativa pEntrevista) {
Connection conexao = Conexao.getSqlConnection();
try {
Statement statement = conexao.createStatement();
statement.execute(
"INSERT INTO aulaAvaliativa " +
"(codigoAulaAvaliativa, data, duracao, local, resultado, conteudo, codigoPessoa) " +
"VALUES(" + pEntrevista.getCodigoAulaAvaliativa() +
", '" + Data.converteDataBrMysql(pEntrevista.getData()) +
"', '" + pEntrevista.getDuracao() +
"', '" + pEntrevista.getLocal() +
"', '" + pEntrevista.getResultado() +
"', '" + pEntrevista.getConteudo() +
"', " + pEntrevista.getCandidato().getCodigoPessoa() + ")");
statement.close();
return true;
} catch (Exception erro) {
JOptionPane.showMessageDialog(null, Strings.getMensagemErroPersitencia("Aula Avaliativa", erro.getMessage()), Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
return false;
}
}
public boolean atualizar(AulaAvaliativa pEntrevista) {
Connection conexao = Conexao.getSqlConnection();
try {
Statement statement = conexao.createStatement();
statement.execute("UPDATE aulaAvaliativa " +
"SET local = '" + pEntrevista.getLocal() +
"', data = '" + Data.converteDataBrMysql(pEntrevista.getData()) +
"', duracao = '" + pEntrevista.getDuracao() +
"', resultado = '" + pEntrevista.getResultado() +
"', conteudo = '" + pEntrevista.getConteudo() +
"' WHERE codigoAulaAvaliativa = " + pEntrevista.getCodigoAulaAvaliativa());
statement.close();
return true;
} catch (Exception erro) {
JOptionPane.showMessageDialog(null, Strings.getMensagemErroEdicao("Aula Avaliativa", erro.getMessage()), Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
return false;
}
}
public boolean excluir(String codigo) {
Connection conexao = Conexao.getSqlConnection();
try {
Statement statement = conexao.createStatement();
statement.execute("DELETE FROM aulaAvaliativa WHERE codigoAulaAvaliativa = " + codigo);
statement.close();
return true;
} catch (Exception erro) {
JOptionPane.showMessageDialog(null, Strings.getMensagemErroEdicao("Aula Avaliativa", erro.getMessage()), Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
return false;
}
}
public boolean reprocessar(String codigoAulaAvaliativa) {
Connection conexao = Conexao.getSqlConnection();
try {
Statement statement = conexao.createStatement();
statement.execute("UPDATE aulaAvaliativa SET resultado = 'Em Processo" +
"' WHERE codigoAulaAvaliativa = " + codigoAulaAvaliativa);
statement.close();
return true;
} catch (Exception erro) {
JOptionPane.showMessageDialog(null, Strings.getMensagemErroProcesso("\nreprocessar uma Aula Avaliativa", erro.getMessage()), Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
return false;
}
}
public boolean aprovarCandidato(String codigoAulaAvaliativa) {
Connection conexao = Conexao.getSqlConnection();
try {
Statement statement = conexao.createStatement();
statement.execute("UPDATE aulaAvaliativa SET resultado = 'Aprovado" +
"' WHERE codigoAulaAvaliativa = " + codigoAulaAvaliativa);
statement.close();
return true;
} catch (Exception erro) {
JOptionPane.showMessageDialog(null, Strings.getMensagemErroProcesso("\naprovar um Candidato em uma Aula Avaliativa", erro.getMessage()), Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
return false;
}
}
public int getMaiorCodigo() {
Connection conexao = Conexao.getSqlConnection();
int intCodigo = 0;
try {
Statement statement = conexao.createStatement();
statement.executeQuery("SELECT MAX(codigoAulaAvaliativa) AS codigo FROM aulaAvaliativa");
ResultSet resultSet = statement.getResultSet();
while (resultSet.next()) {
intCodigo = resultSet.getInt("codigo");
}
resultSet.close();
statement.close();
} catch (Exception erro) {
JOptionPane.showMessageDialog(null, Strings.getMensagemErroNovoCodigo("Aula Avaliativa", erro.getMessage()), Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
}
return intCodigo;
}
}