package com.rjconsultores.ventaboletos.service.impl;

import java.util.Calendar;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.rjconsultores.ventaboletos.dao.TarjetaViajeDAO;
import com.rjconsultores.ventaboletos.dao.TrayectosExpresosDAO;
import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso;
import com.rjconsultores.ventaboletos.entidad.TrayectosExpresos;
import com.rjconsultores.ventaboletos.service.TrayectosExpresosService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;

@Service("trayectosExpresosService")
public class TrayectosExpresosServiceImpl implements TrayectosExpresosService{
	
	@Autowired
    private TrayectosExpresosDAO trayectosExpresosDAO;

	@Override
	public List<TrayectosExpresos> obtenerTodos() {
		return trayectosExpresosDAO.obtenerTodos();
	}

	@Override
	public TrayectosExpresos obtenerID(Integer id) {
		return trayectosExpresosDAO.obtenerID(id);
	}

	@Transactional
	public TrayectosExpresos suscribir(TrayectosExpresos entidad) {
		entidad.setActivo(true);
        entidad.setFechaHoraModif(Calendar.getInstance().getTime()); 
        entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
        return trayectosExpresosDAO.suscribir(entidad);
	}

	@Transactional
	public TrayectosExpresos actualizacion(TrayectosExpresos entidad) {
		entidad.setFechaHoraModif(Calendar.getInstance().getTime());
		return trayectosExpresosDAO.actualizacion(entidad);
	}

	@Transactional
	public void borrar(TrayectosExpresos entidad) {
		entidad.setFechaHoraModif(Calendar.getInstance().getTime());
		entidad.setActivo(false);
		trayectosExpresosDAO.actualizacion(entidad);
	}

	@Override
	public List<TrayectosExpresos> obtenerTrayectosPorServicioId(SolicitudExpreso expreso) {
		return trayectosExpresosDAO.obtenerTrayectosPorServicioId(expreso);
	}

}
