Borrar personas con manytomnay relationships
This commit is contained in:
@@ -9,6 +9,9 @@ import xyz.danielcortes.framework.BaseTableModel;
|
|||||||
import xyz.danielcortes.framework.PanelName;
|
import xyz.danielcortes.framework.PanelName;
|
||||||
import xyz.danielcortes.models.Cliente;
|
import xyz.danielcortes.models.Cliente;
|
||||||
import xyz.danielcortes.repository.ClienteRespository;
|
import xyz.danielcortes.repository.ClienteRespository;
|
||||||
|
import xyz.danielcortes.repository.CorreoRepository;
|
||||||
|
import xyz.danielcortes.repository.DireccionRepository;
|
||||||
|
import xyz.danielcortes.repository.TelefonoRepository;
|
||||||
import xyz.danielcortes.validator.ClienteValidator;
|
import xyz.danielcortes.validator.ClienteValidator;
|
||||||
import xyz.danielcortes.views.cliente.ClienteSearchPanel;
|
import xyz.danielcortes.views.cliente.ClienteSearchPanel;
|
||||||
|
|
||||||
@@ -17,12 +20,19 @@ public class ClienteSearchController extends BaseController {
|
|||||||
private ClienteSearchPanel view;
|
private ClienteSearchPanel view;
|
||||||
private ClienteRespository clienteRespository;
|
private ClienteRespository clienteRespository;
|
||||||
private ClienteValidator clienteValidator;
|
private ClienteValidator clienteValidator;
|
||||||
|
private CorreoRepository correoRepository;
|
||||||
|
private DireccionRepository direccionRepository;
|
||||||
|
private TelefonoRepository telefonoRepository;
|
||||||
|
|
||||||
public ClienteSearchController(ClienteSearchPanel view, LaunchController parent) {
|
public ClienteSearchController(ClienteSearchPanel view, LaunchController parent) {
|
||||||
super(parent);
|
super(parent);
|
||||||
this.view = view;
|
this.view = view;
|
||||||
this.clienteRespository = new ClienteRespository();
|
this.clienteRespository = new ClienteRespository();
|
||||||
this.clienteValidator = new ClienteValidator(this.clienteRespository);
|
this.clienteValidator = new ClienteValidator(this.clienteRespository);
|
||||||
|
|
||||||
|
this.correoRepository = new CorreoRepository();
|
||||||
|
this.direccionRepository = new DireccionRepository();
|
||||||
|
this.telefonoRepository = new TelefonoRepository();
|
||||||
this.setupListeners();
|
this.setupListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,6 +80,9 @@ public class ClienteSearchController extends BaseController {
|
|||||||
if (option == JOptionPane.NO_OPTION)
|
if (option == JOptionPane.NO_OPTION)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
this.correoRepository.delete(cliente.getCorreos());
|
||||||
|
this.direccionRepository.delete(cliente.getDirecciones());
|
||||||
|
this.telefonoRepository.delete(cliente.getTelefonos());
|
||||||
this.clienteRespository.delete(cliente);
|
this.clienteRespository.delete(cliente);
|
||||||
this.reload();
|
this.reload();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public class ClienteViewController extends BaseController {
|
|||||||
private void setupListeners() {
|
private void setupListeners() {
|
||||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.CLIENTE_SEARCH));
|
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.CLIENTE_SEARCH));
|
||||||
this.view.getCorreosButton().addActionListener(e -> this.gotoCorreosView());
|
this.view.getCorreosButton().addActionListener(e -> this.gotoCorreosView());
|
||||||
// this.view.getTelefonosButton().addActionListener(e -> this.gotoTelefonoView());
|
this.view.getTelefonosButton().addActionListener(e -> this.gotoTelefonoView());
|
||||||
this.view.getDireccionesButton().addActionListener(e -> this.gotoDireccionView());
|
this.view.getDireccionesButton().addActionListener(e -> this.gotoDireccionView());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,10 @@ import xyz.danielcortes.framework.BasePanel;
|
|||||||
import xyz.danielcortes.framework.BaseTableModel;
|
import xyz.danielcortes.framework.BaseTableModel;
|
||||||
import xyz.danielcortes.framework.PanelName;
|
import xyz.danielcortes.framework.PanelName;
|
||||||
import xyz.danielcortes.models.Distribuidor;
|
import xyz.danielcortes.models.Distribuidor;
|
||||||
|
import xyz.danielcortes.repository.CorreoRepository;
|
||||||
|
import xyz.danielcortes.repository.DireccionRepository;
|
||||||
import xyz.danielcortes.repository.DistribuidorRepository;
|
import xyz.danielcortes.repository.DistribuidorRepository;
|
||||||
|
import xyz.danielcortes.repository.TelefonoRepository;
|
||||||
import xyz.danielcortes.validator.DistribuidorValidator;
|
import xyz.danielcortes.validator.DistribuidorValidator;
|
||||||
import xyz.danielcortes.views.distribuidor.DistribuidorSearchPanel;
|
import xyz.danielcortes.views.distribuidor.DistribuidorSearchPanel;
|
||||||
|
|
||||||
@@ -18,11 +21,19 @@ public class DistribuidorSearchController extends BaseController {
|
|||||||
private DistribuidorRepository distribuidorRepository;
|
private DistribuidorRepository distribuidorRepository;
|
||||||
private DistribuidorValidator distribuidorValidator;
|
private DistribuidorValidator distribuidorValidator;
|
||||||
|
|
||||||
|
private CorreoRepository correoRepository;
|
||||||
|
private DireccionRepository direccionRepository;
|
||||||
|
private TelefonoRepository telefonoRepository;
|
||||||
|
|
||||||
public DistribuidorSearchController(DistribuidorSearchPanel view, LaunchController parent) {
|
public DistribuidorSearchController(DistribuidorSearchPanel view, LaunchController parent) {
|
||||||
super(parent);
|
super(parent);
|
||||||
this.view = view;
|
this.view = view;
|
||||||
this.distribuidorRepository = new DistribuidorRepository();
|
this.distribuidorRepository = new DistribuidorRepository();
|
||||||
this.distribuidorValidator = new DistribuidorValidator(this.distribuidorRepository);
|
this.distribuidorValidator = new DistribuidorValidator(this.distribuidorRepository);
|
||||||
|
|
||||||
|
this.telefonoRepository = new TelefonoRepository();
|
||||||
|
this.direccionRepository = new DireccionRepository();
|
||||||
|
this.correoRepository = new CorreoRepository();
|
||||||
this.setupListeners();
|
this.setupListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,6 +81,9 @@ public class DistribuidorSearchController extends BaseController {
|
|||||||
if (option == JOptionPane.NO_OPTION)
|
if (option == JOptionPane.NO_OPTION)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
this.correoRepository.delete(distribuidor.getCorreos());
|
||||||
|
this.direccionRepository.delete(distribuidor.getDirecciones());
|
||||||
|
this.telefonoRepository.delete(distribuidor.getTelefonos());
|
||||||
this.distribuidorRepository.delete(distribuidor);
|
this.distribuidorRepository.delete(distribuidor);
|
||||||
this.reload();
|
this.reload();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ import xyz.danielcortes.framework.BasePanel;
|
|||||||
import xyz.danielcortes.framework.BaseTableModel;
|
import xyz.danielcortes.framework.BaseTableModel;
|
||||||
import xyz.danielcortes.framework.PanelName;
|
import xyz.danielcortes.framework.PanelName;
|
||||||
import xyz.danielcortes.models.Trabajador;
|
import xyz.danielcortes.models.Trabajador;
|
||||||
|
import xyz.danielcortes.repository.CorreoRepository;
|
||||||
|
import xyz.danielcortes.repository.DireccionRepository;
|
||||||
|
import xyz.danielcortes.repository.TelefonoRepository;
|
||||||
import xyz.danielcortes.repository.TrabajadorRespository;
|
import xyz.danielcortes.repository.TrabajadorRespository;
|
||||||
import xyz.danielcortes.repository.UsuarioRepository;
|
import xyz.danielcortes.repository.UsuarioRepository;
|
||||||
import xyz.danielcortes.validator.TrabajadorValidator;
|
import xyz.danielcortes.validator.TrabajadorValidator;
|
||||||
@@ -22,6 +25,10 @@ public class TrabajadorSearchController extends BaseController {
|
|||||||
private TrabajadorValidator trabajadorValidator;
|
private TrabajadorValidator trabajadorValidator;
|
||||||
private UsuarioValidator usuarioValidator;
|
private UsuarioValidator usuarioValidator;
|
||||||
|
|
||||||
|
private CorreoRepository correoRepository;
|
||||||
|
private TelefonoRepository telefonoRepository;
|
||||||
|
private DireccionRepository direccionRepository;
|
||||||
|
|
||||||
public TrabajadorSearchController(TrabajadorSearchPanel view, LaunchController parent) {
|
public TrabajadorSearchController(TrabajadorSearchPanel view, LaunchController parent) {
|
||||||
super(parent);
|
super(parent);
|
||||||
this.view = view;
|
this.view = view;
|
||||||
@@ -29,6 +36,10 @@ public class TrabajadorSearchController extends BaseController {
|
|||||||
this.usuarioRepository = new UsuarioRepository();
|
this.usuarioRepository = new UsuarioRepository();
|
||||||
this.trabajadorValidator = new TrabajadorValidator(this.trabajadorRespository);
|
this.trabajadorValidator = new TrabajadorValidator(this.trabajadorRespository);
|
||||||
this.usuarioValidator = new UsuarioValidator(this.usuarioRepository);
|
this.usuarioValidator = new UsuarioValidator(this.usuarioRepository);
|
||||||
|
|
||||||
|
this.correoRepository = new CorreoRepository();
|
||||||
|
this.telefonoRepository = new TelefonoRepository();
|
||||||
|
this.direccionRepository = new DireccionRepository();
|
||||||
this.setupListeners();
|
this.setupListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -76,6 +87,9 @@ public class TrabajadorSearchController extends BaseController {
|
|||||||
if (option == JOptionPane.NO_OPTION)
|
if (option == JOptionPane.NO_OPTION)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
this.direccionRepository.delete(trabajador.getDirecciones());
|
||||||
|
this.telefonoRepository.delete(trabajador.getTelefonos());
|
||||||
|
this.correoRepository.delete(trabajador.getCorreos());
|
||||||
this.trabajadorRespository.delete(trabajador);
|
this.trabajadorRespository.delete(trabajador);
|
||||||
this.reload();
|
this.reload();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package xyz.danielcortes.framework;
|
package xyz.danielcortes.framework;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import javax.persistence.EntityManager;
|
import javax.persistence.EntityManager;
|
||||||
import javax.persistence.PersistenceException;
|
import javax.persistence.PersistenceException;
|
||||||
|
|
||||||
@@ -49,4 +50,19 @@ public abstract class BaseRepository<E> {
|
|||||||
|
|
||||||
this.em.getTransaction().commit();
|
this.em.getTransaction().commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void delete(List<E> entities) {
|
||||||
|
this.em.getTransaction().begin();
|
||||||
|
|
||||||
|
try {
|
||||||
|
for (E e : entities) {
|
||||||
|
this.em.remove(e);
|
||||||
|
}
|
||||||
|
} catch (PersistenceException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
this.em.getTransaction().rollback();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.em.getTransaction().commit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user