/*
* 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.EmpresaDAO;
import java.util.ArrayList;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import model.Empresa;
/**
*
* @author aluno
*/
public class EmpresaController {
private Empresa empresa;
private EmpresaDAO empresaDAO;
private ArrayList<Empresa> listaDeEmpresas;
private PessoaController pessoaCtrl;
private EnderecoController enderecoCtrl;
public EmpresaController() {
this.empresa = new Empresa();
this.empresaDAO = new EmpresaDAO();
this.listaDeEmpresas = new ArrayList<Empresa>();
this.pessoaCtrl = new PessoaController();
this.enderecoCtrl = new EnderecoController();
}
public String getNovoCodigo() {
String novoCodigo = "0";
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
empresaDAO = new EmpresaDAO();
int codigo = empresaDAO.getMaiorCodigo() + 1;
novoCodigo = String.valueOf(codigo);
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return novoCodigo;
}
public Empresa getEmpresa(String codigo) {
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
empresa = empresaDAO.getEmpresa(codigo);
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return empresa;
}
public ArrayList<Empresa> getEmpresas() {
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
listaDeEmpresas = empresaDAO.getEmpresas();
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return listaDeEmpresas;
}
public DefaultTableModel getTableEmpresas(DefaultTableModel pModeloTabela, String tipo) {
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
listaDeEmpresas = this.getEmpresas();
Vector<String> elementosdaTabela;
for (int i = 0; i < listaDeEmpresas.size(); i++) {
elementosdaTabela = new Vector<String>();
empresa = new Empresa();
empresa = listaDeEmpresas.get(i);
if(tipo.equals("pesquisa"))
elementosdaTabela.addElement(String.valueOf(empresa.getCodigoEmpresa()));
else
elementosdaTabela.addElement(String.valueOf(empresa.getCodigoPessoa()));
elementosdaTabela.addElement(empresa.getRazaosocial());
elementosdaTabela.addElement(empresa.getEmail());
elementosdaTabela.addElement(empresa.getTelefone());
elementosdaTabela.addElement(empresa.getFax());
pModeloTabela.addRow(elementosdaTabela);
}
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return pModeloTabela;
}
public boolean atualizar(Empresa pEmpresa) {
boolean atualizou = false;
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
empresa = pEmpresa;
pessoaCtrl = new PessoaController();
if(pessoaCtrl.atualizar(empresa)){
if(empresaDAO.atualizar(empresa)){
enderecoCtrl = new EnderecoController();
if(enderecoCtrl.atualizar(empresa.getEndereco())){
atualizou = true;
}else{
JOptionPane.showMessageDialog(null, "Atualizar Empresa " + Strings.mensagemErroProcesso, Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
pessoaCtrl.excluir(empresa);
empresaDAO.excluir(String.valueOf(empresa.getCodigoPessoa()));
}
}else{
JOptionPane.showMessageDialog(null, "Atualizar Empresa " + Strings.mensagemErroProcesso, Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
pessoaCtrl.excluir(empresa);
}
}
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return atualizou;
}
public boolean salvar(Empresa pEmpresa) {
boolean salvou = false;
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
empresa = pEmpresa;
pessoaCtrl = new PessoaController();
if(pessoaCtrl.salvar(empresa)){
if(empresaDAO.salvar(empresa)){
enderecoCtrl = new EnderecoController();
if(enderecoCtrl.salvar(empresa.getEndereco())){
salvou = true;
}else{
JOptionPane.showMessageDialog(null, "Salvar Empresa " + Strings.mensagemErroProcesso, Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
pessoaCtrl.excluir(empresa);
empresaDAO.excluir(String.valueOf(empresa.getCodigoPessoa()));
}
}else{
JOptionPane.showMessageDialog(null, "Salvar Empresa " + Strings.mensagemErroProcesso, Strings.tituloMessageErro, JOptionPane.ERROR_MESSAGE);
pessoaCtrl.excluir(empresa);
}
}
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return salvou;
}
public boolean excluir(String codigo) {
if(GerenciadorDeConfiguracoesDoSistema.getUsarConexao()){
if(empresaDAO.excluir(codigo))
return true;
else
return false;
}else
JOptionPane.showMessageDialog(null, Strings.mensagemConexaoDesativada, Strings.tituloMessage, JOptionPane.INFORMATION_MESSAGE);
return false;
}
}