package com.rjconsultores.ventaboletos.service.impl;

import java.util.Date;

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

import com.rjconsultores.ventaboletos.dao.ConfComprovantePassagemDAO;
import com.rjconsultores.ventaboletos.entidad.ConfComprovantePassagem;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.ConfComprovantePassagemService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;

@Service("confComprovantePassagemService")
public class ConfComprovantePassagemServiceImpl implements ConfComprovantePassagemService {

	@Autowired
	private ConfComprovantePassagemDAO confCompPassDAO;
	
	@Transactional(rollbackFor = BusinessException.class)
	@Override
	public ConfComprovantePassagem suscribirActualizar(ConfComprovantePassagem conf) throws BusinessException {
		
		conf.setFecmodif(new Date());
		conf.setUsuario(UsuarioLogado.getUsuarioLogado());
		
		if (conf.getConfComprovantePassagemId() == null) {
			conf = confCompPassDAO.suscribir(conf);
		} else {
			conf = confCompPassDAO.actualizacion(conf);
		}
		
		return conf;
	}

	@Transactional
	@Override
	public void apagar(ConfComprovantePassagem empresaTroco) throws BusinessException {
		confCompPassDAO.borrar(empresaTroco);
	}
	
	@Override
	public ConfComprovantePassagem buscarConfComprovantePassagemPorEmpresaId(Integer empresaID) {
		return confCompPassDAO.buscarPorEmpresaId(empresaID);
	}

	@Override
	public ConfComprovantePassagem buscarConfiguracao(Integer empresaID, String tipoIntegracao, String viaComprovante) {
		return confCompPassDAO.buscarConfiguracao(empresaID, tipoIntegracao, viaComprovante);
	}
}
