package com.titanic.ventapasajes.service; import com.titanic.ventapasajes.modelo.Cliente; import com.titanic.ventapasajes.modelo.Conductor; import com.titanic.ventapasajes.repositorio.ClienteRepositorio; import com.titanic.ventapasajes.repositorio.ConductorRepositorio; import com.titanic.ventapasajes.util.jpa.Transaccion; import javax.inject.Inject; import java.io.Serializable; import java.util.Date; import java.util.List; /** * Created by josediaz on 12/18/15. */ public class RegistroConductorService implements Serializable { /** * */ private static final long serialVersionUID = 1L; @Inject private ConductorRepositorio conductorRepositorio; @Transaccion public Conductor registrarConductor(Conductor conductor){ Conductor conductorExistente = conductorRepositorio.obtenerConductorPorNumeroDocumento(conductor.getNumeroDocumento()); if(conductorExistente!=null && !conductorExistente.equals(conductor)){ throw new NegocioExcepciones("Ya existe un conductor con ese Numero de Documento, verificar"); } return conductorRepositorio.adicionarConductor(conductor); } public List<Conductor> buscarTodos(){ return conductorRepositorio.buscarTodos(); } public Conductor obtenerConductorPorNumeroDocumento(String numeroDocumento){ return conductorRepositorio.obtenerConductorPorNumeroDocumento(numeroDocumento); } @Transaccion public Conductor adicionarConductor(Conductor conductor) { Conductor conductorExistente = conductorRepositorio.obtenerConductorPorNumeroDocumento(conductor.getNumeroDocumento()); if(conductorExistente!=null) { conductorExistente.setNombreConductor(conductor.getNombreConductor()); conductorExistente.setFechaNacimiento(conductor.getFechaNacimiento()); conductorExistente.setNumeroLicencia(conductor.getNumeroLicencia()); conductorExistente.setFechaExpedicion(conductor.getFechaExpedicion()); conductorExistente.setFechaRevalidacion(conductor.getFechaRevalidacion()); conductorExistente.setEstado(conductor.isEstado()); conductorExistente.setEntidad(conductor.getEntidad()); conductorExistente.setLocalidad(conductor.getLocalidad()); conductorExistente.setNumeroCertificado(conductor.getNumeroCertificado()); conductorExistente.setFechaCaducidad(conductor.getFechaCaducidad()); conductorExistente.setEstadoCapacitacion(conductor.isEstadoCapacitacion()); }else{ conductorExistente = conductor; } return conductorRepositorio.adicionarConductor(conductorExistente); } }