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 com.rjconsultores.ventaboletos.dao.AbastoCentralDAO;
import com.rjconsultores.ventaboletos.entidad.AbastoCentral;
import com.rjconsultores.ventaboletos.entidad.Aidf;
import com.rjconsultores.ventaboletos.service.AbastoCentralService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;

@Service("abastoCentralService")
public class AbastoCentralServiceImpl implements AbastoCentralService {
	
	@Autowired
	private AbastoCentralDAO abastoCentralDAO;
	
	public List<AbastoCentral> obtenerTodos() {		
		return abastoCentralDAO.obtenerTodos();
	}

	public AbastoCentral obtenerID(Long id) {		
		return abastoCentralDAO.obtenerID(id);
	}

	public AbastoCentral suscribir(AbastoCentral entidad) {
		setUsuarioFecmodifActivo(entidad);
		return abastoCentralDAO.suscribir(entidad);
	}

	public AbastoCentral actualizacion(AbastoCentral entidad) {
		setUsuarioFecmodifActivo(entidad);
		return abastoCentralDAO.actualizacion(entidad);
	}

	public void borrar(AbastoCentral entidad) {
		setUsuarioFecmodifActivo(entidad);
		entidad.setActivo(Boolean.FALSE);		
		abastoCentralDAO.borrar(entidad);
	}

	private void setUsuarioFecmodifActivo(AbastoCentral entidad){
		 entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
	     entidad.setFecmodif(Calendar.getInstance().getTime());
	     entidad.setActivo(Boolean.TRUE);
	}

	public List<AbastoCentral> buscaBilhetesPorAidf(Aidf aidf) {
		List<AbastoCentral> bilhetes = abastoCentralDAO.buscaBilhetesPorAidf(aidf);
		return bilhetes;
	}
	
	@Override
	public void borrarLosQueTienenAIDF(Aidf aidf) {
		abastoCentralDAO.borrarLosQueTienenAIDF(aidf);
	}
	
}
