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.hibernate.ConexionDescuentoHibernateDAO;
import com.rjconsultores.ventaboletos.entidad.Conexion;
import com.rjconsultores.ventaboletos.entidad.ConexionDescuento;
import com.rjconsultores.ventaboletos.service.ConexionDescuentoService;

@Service("conexionDescuentoService")
public class ConexionDescuentoServiceImpl implements ConexionDescuentoService {
	@Autowired
	ConexionDescuentoHibernateDAO conexionDescuentoHDAO;

	@Override
	public List<ConexionDescuento> buscarPorConexion(Conexion conexion) {
		return conexionDescuentoHDAO.bucarPorConexion(conexion.getConexionId());
	}
	
	@Override
	public List<ConexionDescuento> buscarPorConexionInativos(Conexion conexion) {
		return conexionDescuentoHDAO.bucarPorConexionInativos(conexion.getConexionId());
	}

	@Override
	@Transactional
	public ConexionDescuento suscribir(ConexionDescuento conexionDescuento) {
		conexionDescuento.setActivo(true);
		conexionDescuento.setFecModif(Calendar.getInstance().getTime());
		if (conexionDescuento.getIdConexionDescuento() == null) {
			return conexionDescuentoHDAO.suscribir(conexionDescuento);
		}
		return conexionDescuentoHDAO.actualizacion(conexionDescuento);
	}

	@Override
	@Transactional
	public void borrar(ConexionDescuento conexionDescuento) {
		conexionDescuento.setActivo(false);
		this.suscribir(conexionDescuento);
	}

	@Override
	@Transactional
	public void suscribirTodos(List<ConexionDescuento> conexionesDescuentos) {
		for (ConexionDescuento conexionDescuento : conexionesDescuentos) {
			conexionDescuento.setFecModif(Calendar.getInstance().getTime());
		}
		conexionDescuentoHDAO.suscribirTodos(conexionesDescuentos);
	}
	
}
