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.EmpresaTrocoSimplesDAO;
import com.rjconsultores.ventaboletos.entidad.EmpresaTrocoSimples;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.EmpresaTrocoSimplesService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;

@Service("empresaTrocoSimplesService")
public class EmpresaTrocoSimplesServiceImpl implements EmpresaTrocoSimplesService {

	@Autowired
	private EmpresaTrocoSimplesDAO empresaTrocoDAO;
	
	@Transactional(rollbackFor = BusinessException.class)
	@Override
	public EmpresaTrocoSimples suscribirActualizar(EmpresaTrocoSimples empresaTroco) throws BusinessException {
		
		empresaTroco.setFecmodif(new Date());
		empresaTroco.setUsuario(UsuarioLogado.getUsuarioLogado());
		
		if (empresaTroco.getEmpresaTrocoSimplesId() == null) {
			empresaTroco = empresaTrocoDAO.suscribir(empresaTroco);
		} else {
			empresaTroco = empresaTrocoDAO.actualizacion(empresaTroco);
		}
		
		return empresaTroco;
	}

	@Transactional
	@Override
	public void apagar(EmpresaTrocoSimples empresaTroco) throws BusinessException {
		empresaTrocoDAO.borrar(empresaTroco);
	}
	
	@Override
	public EmpresaTrocoSimples buscarEmpresaTrocoSimplesPorEmpresaId(Integer empresaID) {
		return empresaTrocoDAO.buscarPorEmpresaId(empresaID);
	}
}
