/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package controller;
import controller.PessoaController;
import controller.operating.GerenciadorDeConfiguracoesDoSistema;
import controller.operating.Strings;
import dao.CandidatoDAO;
import java.util.ArrayList;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import model.Candidato;
/**
*
* @author Consult
*/
public class CandidatoController {
private Candidato candidato;
private CandidatoDAO candidatoDAO;
private ArrayList<Candidato> listaDeCandidatos;
private PessoaController pessoaCtrl;
private EnderecoController enderecoCtrl;
public CandidatoController() {
this.candidato = new Candidato();
this.candidatoDAO = new CandidatoDAO();
this.listaDeCandidatos = new ArrayList<Candidato>();
this.pessoaCtrl = new PessoaController();
this.enderecoCtrl = new EnderecoController();
}
public String getNovoCodigo() {
String novoCodigo = "0";
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
candidatoDAO = new CandidatoDAO();
int codigo = candidatoDAO.getMaiorCodigo() + 1;
novoCodigo = String.valueOf(codigo);
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return novoCodigo;
}
public Candidato getCandidato(String codigo) {
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
candidato = candidatoDAO.getCandidato(codigo);
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return candidato;
}
public Candidato getCandidatoSemFiltro(String codigo) {
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
candidato = candidatoDAO.getCandidatoSemFiltro(codigo);
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return candidato;
}
public ArrayList<Candidato> getCandidatos() {
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
listaDeCandidatos = candidatoDAO.getCandidatos();
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return listaDeCandidatos;
}
public boolean atualizar(Candidato pCandidato) {
boolean atualizou = false;
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
candidato = pCandidato;
pessoaCtrl = new PessoaController();
if(pessoaCtrl.atualizar(candidato)){
if(candidatoDAO.atualizar(candidato)){
enderecoCtrl = new EnderecoController();
if(enderecoCtrl.atualizar(candidato.getEndereco())){
atualizou = true;
}else{
JOptionPane.showMessageDialog(null, "Atualizar Candidato " + Strings.mensagemErroProcesso, Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
pessoaCtrl.excluir(candidato);
candidatoDAO.excluir(String.valueOf(candidato.getCodigoPessoa()));
}
}else{
JOptionPane.showMessageDialog(null, "Atualizar Candidato " + Strings.mensagemErroProcesso, Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
pessoaCtrl.excluir(candidato);
}
}
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return atualizou;
}
public boolean salvar(Candidato pCandidato) {
boolean salvou = false;
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
candidato = pCandidato;
pessoaCtrl = new PessoaController();
if(pessoaCtrl.salvar(candidato)){
if(candidatoDAO.salvar(candidato)){
enderecoCtrl = new EnderecoController();
if(enderecoCtrl.salvar(candidato.getEndereco())){
salvou = true;
}else{
JOptionPane.showMessageDialog(null, "Salvar Candidato " + Strings.mensagemErroProcesso, Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
pessoaCtrl.excluir(candidato);
candidatoDAO.excluir(String.valueOf(candidato.getCodigoPessoa()));
}
}else{
JOptionPane.showMessageDialog(null, "Salvar Candidato " + Strings.mensagemErroProcesso, Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
pessoaCtrl.excluir(candidato);
}
}
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return salvou;
}
public boolean excluir(String codigo) {
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
if(candidatoDAO.excluir(codigo)){
return true;
}else{
return false;
}
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return false;
}
public boolean aprovarCandidato(String codigo) {
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
if(candidatoDAO.aprovarCandidato(codigo)){
return true;
}else{
return false;
}
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return false;
}
public DefaultTableModel getTableCandidatos(DefaultTableModel pModeloTabela) {
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
listaDeCandidatos = this.getCandidatos();
Vector<String> elementosdaTabela;
for (int i = 0; i < listaDeCandidatos.size(); i++) {
elementosdaTabela = new Vector<String>();
candidato = new Candidato();
candidato = listaDeCandidatos.get(i);
elementosdaTabela.addElement(String.valueOf(candidato.getCodigoPessoa()));
elementosdaTabela.addElement(candidato.getNome());
elementosdaTabela.addElement(candidato.getEmail());
elementosdaTabela.addElement(candidato.getCelular());
elementosdaTabela.addElement(candidato.getLattes());
pModeloTabela.addRow(elementosdaTabela);
}
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return pModeloTabela;
}
}