package com.titanic.ventapasajes.service; import java.io.Serializable; import java.util.List; import javax.inject.Inject; import com.titanic.ventapasajes.modelo.Cliente; import com.titanic.ventapasajes.repositorio.ClienteRepositorio; import com.titanic.ventapasajes.util.jpa.Transaccion; public class RegistroClienteService implements Serializable{ /** * */ private static final long serialVersionUID = 1L; @Inject private ClienteRepositorio clienteRepositorio; @Transaccion public Cliente registrarCliente(Cliente cliente){ Cliente clienteExistente = clienteRepositorio.obtenerClientePorNumeroDocumento(cliente.getNumeroDocumento()); if(clienteExistente!=null && !clienteExistente.equals(cliente)){ throw new NegocioExcepciones("Ya existe un cliente con ese Numero de Documento, verificar"); } return clienteRepositorio.adicionarCliente(cliente); } public List<Cliente> buscarTodos(){ return clienteRepositorio.buscarTodos(); } public Cliente obtenerClientePorNumeroDocumento(String numeroDocumento){ return clienteRepositorio.obtenerClientePorNumeroDocumento(numeroDocumento); } @Transaccion public Cliente adicionarCliente(Cliente cliente) { Cliente clienteExistente = clienteRepositorio.obtenerClientePorNumeroDocumento(cliente.getNumeroDocumento()); if(clienteExistente!=null) { clienteExistente.setNombreCliente(cliente.getNombreCliente()); clienteExistente.setEdad(cliente.getEdad()); clienteExistente.setSexo(cliente.getSexo()); }else{ clienteExistente = cliente; } return clienteRepositorio.adicionarCliente(clienteExistente); } }