edgar 2016-12-22 11:26:29 +00:00
parent 73416411ac
commit cc3a1c3ee0
1 changed files with 57 additions and 28 deletions

View File

@ -105,6 +105,8 @@ public class EditarConexionController extends MyGenericForwardComposer {
private Label lblConexaoFixa4;
private List<Ruta> lsRutas;
private List<Conexion> conexoesRemovidas;
private List<ConexionConf> conexoesConfRemovidas;
public ConexionCtrl getConexionCtrl() {
return conexionCtrl;
@ -119,6 +121,8 @@ public class EditarConexionController extends MyGenericForwardComposer {
super.doAfterCompose(comp);
lsRutas = rutaService.obtenerTodos();
conexoesRemovidas = new ArrayList<Conexion>();
conexoesConfRemovidas = new ArrayList<ConexionConf>();
conexionesList = (MyListbox) Executions.getCurrent().getArg().get("conexionesList");
@ -635,40 +639,51 @@ public class EditarConexionController extends MyGenericForwardComposer {
}
public void onClick$btnRemoverConexao(Event ev) throws Exception {
Conexion conexao = (Conexion) conexionesEditarList.getSelected();
if (conexao != null) {
int resp = Messagebox.show(
Labels.getLabel("editarConexionController.MSG.borrarConexionPergunta"),
Labels.getLabel("editarConexionController.window.title"),
Messagebox.YES | Messagebox.NO, Messagebox.QUESTION);
if (resp == Messagebox.YES) {
Conexion conexionDeletar = (Conexion) conexionesEditarList.getSelected();
if (conexionDeletar != null) {
// procurando conexions do mesmo grupo e setando acitvo false
List<Integer> removerLista = new ArrayList<Integer>();
for (int i = 0; i < lsConexiones.size(); i++) {
Conexion conexion = lsConexiones.get(i);
if (conexion.getNumgrupo().equals(conexionDeletar.getNumgrupo())) {
conexionService.borrar(conexion);
removerConexoes(conexao.getNumgrupo());
ConexionConf conexionConfRemovida = getConexaoConf(conexao.getNumgrupo());
conexoesConfRemovidas.add(conexionConfRemovida);
lsConexionesConf.remove(conexionConfRemovida);
removerLista.add(i);
}
}
// removendo da lista
if (conexionCtrl != null) {
lsConexiones = conexionService.buscarPorConexionCtrl(conexionCtrl.getConexionctrlId());
conexionesEditarList.setData(lsConexiones);
} else {
lsConexiones = new ArrayList<Conexion>();
conexionesEditarList.setData(lsConexiones);
}
} else {
Messagebox.show(Labels.getLabel("editarConexionController.MSG.selecionarConexion"),
Labels.getLabel("editarConexionController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
}
}
private void removerConexoes(Integer numgrupo) {
List<Conexion> conexiones = new ArrayList<Conexion>();
conexiones.addAll(lsConexiones);
for (Conexion conexion : conexiones) {
if (conexion.getNumgrupo() == numgrupo) {
conexoesRemovidas.add(conexion);
lsConexiones.remove(conexion);
conexionesEditarList.removeItem(conexion);
}
}
}
private ConexionConf getConexaoConf(Integer numgrupo) {
for (ConexionConf conexionConf : lsConexionesConf) {
if (conexionConf.getGrupo() == numgrupo) {
return conexionConf;
}
}
return null;
}
public void onClick$btnSalvar(Event ev) throws Exception {
@ -734,6 +749,8 @@ public class EditarConexionController extends MyGenericForwardComposer {
}
}
apagarConexoesRemovidas();
Messagebox.show(Labels.getLabel("editarConexionController.MSG.suscribirOK"),
Labels.getLabel("editarConexionController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
@ -741,6 +758,18 @@ public class EditarConexionController extends MyGenericForwardComposer {
closeWindow();
}
private void apagarConexoesRemovidas() {
for (ConexionConf conexionConf : conexoesConfRemovidas) {
if (conexionConf != null) {
conexionConfService.borrar(conexionConf);
}
}
conexionService.borrar(conexoesRemovidas);
conexoesRemovidas.clear();
conexoesConfRemovidas.clear();
}
public void onClick$btnApagar(Event ev) throws Exception {
int resp = Messagebox.show(
Labels.getLabel("editarConexionController.MSG.borrarConexionCtrlPergunta"),