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.TarifaKmDAO;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.TarifaKm;
import com.rjconsultores.ventaboletos.service.TarifaKmService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;

@Service("tarifaKmService")
public class TarifaKmServiceImpl implements TarifaKmService {

	@Autowired
    private TarifaKmDAO tarifaKmDAO;
	
	public List<TarifaKm> buscarPorOrgaoAndClasse(OrgaoConcedente orgaoconcedenteId, ClaseServicio claseId) {
        return tarifaKmDAO.buscarPorOrgaoAndClasse( orgaoconcedenteId,  claseId);
        
	}
	
	public List<TarifaKm> obtenerTodos() {
        return tarifaKmDAO.obtenerTodos();
    }
	
	public TarifaKm obtenerID(Integer id) {
        return tarifaKmDAO.obtenerID(id);
    }
	
	@Transactional
    public TarifaKm actualizacion(TarifaKm entidad) {
        return tarifaKmDAO.actualizacion(entidad);
    }
	
	@Transactional
    public TarifaKm suscribir(TarifaKm entidad) {
        entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
        entidad.setFecmodif(Calendar.getInstance().getTime());
        entidad.setActivo(Boolean.TRUE);

        return tarifaKmDAO.suscribir(entidad);
    }
	
	@Transactional
    public void borrar(TarifaKm entidad) {
        entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
        entidad.setFecmodif(Calendar.getInstance().getTime());
        entidad.setActivo(Boolean.FALSE);

        tarifaKmDAO.borrar(entidad);
    }
}
