/*
* 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.DocenteDAO;
import java.util.ArrayList;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import model.Docente;
/**
*
* @author Consult
*/
public class DocenteController {
private Docente docente;
private DocenteDAO docenteDAO;
private ArrayList<Docente> listaDeDocentes;
private PessoaController pessoaCtrl;
private EnderecoController enderecoCtrl;
public DocenteController() {
this.docente = new Docente();
this.docenteDAO = new DocenteDAO();
this.listaDeDocentes = new ArrayList<Docente>();
this.pessoaCtrl = new PessoaController();
this.enderecoCtrl = new EnderecoController();
}
public String getNovoCodigo() {
String novoCodigo = "0";
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
docenteDAO = new DocenteDAO();
int codigo = docenteDAO.getMaiorCodigo() + 1;
novoCodigo = String.valueOf(codigo);
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return novoCodigo;
}
public Docente getDocente(String codigo) {
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
docente = docenteDAO.getDocente(codigo);
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return docente;
}
public ArrayList<Docente> getDocentes() {
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
listaDeDocentes = docenteDAO.getDocentes();
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return listaDeDocentes;
}
public boolean atualizar(Docente pDocente) {
boolean atualizou = false;
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
docente = pDocente;
pessoaCtrl = new PessoaController();
if(pessoaCtrl.atualizar(docente)){
if(docenteDAO.atualizar(docente)){
enderecoCtrl = new EnderecoController();
if(enderecoCtrl.atualizar(docente.getEndereco())){
atualizou = true;
}else{
JOptionPane.showMessageDialog(null, "Atualizar Docente " + Strings.mensagemErroProcesso, Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
pessoaCtrl.excluir(docente);
docenteDAO.excluir(String.valueOf(docente.getCodigoPessoa()));
}
}else{
JOptionPane.showMessageDialog(null, "Atualizar Docente " + Strings.mensagemErroProcesso, Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
pessoaCtrl.excluir(docente);
}
}
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return atualizou;
}
public boolean salvar(Docente pDocente) {
boolean salvou = false;
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
docente = pDocente;
pessoaCtrl = new PessoaController();
if(pessoaCtrl.salvar(docente)){
if(docenteDAO.salvar(docente)){
enderecoCtrl = new EnderecoController();
if(enderecoCtrl.salvar(docente.getEndereco())){
salvou = true;
}else{
JOptionPane.showMessageDialog(null, "Salvar Docente " + Strings.mensagemErroProcesso, Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
pessoaCtrl.excluir(docente);
docenteDAO.excluir(String.valueOf(docente.getCodigoPessoa()));
}
}else{
JOptionPane.showMessageDialog(null, "Salvar Docente " + Strings.mensagemErroProcesso, Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
pessoaCtrl.excluir(docente);
}
}
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return salvou;
}
public boolean excluir(String codigo) {
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
if(docenteDAO.excluir(codigo)){
return true;
}else{
return false;
}
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return false;
}
public boolean cancelarAprovacao(String codigo) {
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
if(docenteDAO.cancelarAprovacao(codigo)){
return true;
}else{
return false;
}
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return false;
}
public DefaultTableModel getTableDocentes(DefaultTableModel pModeloTabela) {
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
listaDeDocentes = this.getDocentes();
Vector<String> elementosdaTabela;
for (int i = 0; i < listaDeDocentes.size(); i++) {
elementosdaTabela = new Vector<String>();
docente = new Docente();
docente = listaDeDocentes.get(i);
elementosdaTabela.addElement(String.valueOf(docente.getCodigoPessoa()));
elementosdaTabela.addElement(docente.getNome());
elementosdaTabela.addElement(docente.getEmail());
elementosdaTabela.addElement(docente.getCelular());
elementosdaTabela.addElement(docente.getLattes());
pModeloTabela.addRow(elementosdaTabela);
}
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return pModeloTabela;
}
}