/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.rjconsultores.ventaboletos.service.impl;

import java.math.BigDecimal;
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.SegVKMDAO;
import com.rjconsultores.ventaboletos.entidad.SegVKM;
import com.rjconsultores.ventaboletos.service.SegVKMService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;

/**
 * 
 * @author RJ
 */
@Service("segVKMService")
public class SegVKMServiceImpl implements SegVKMService {

	@Autowired
	private SegVKMDAO segVKMDAO;

	public List<SegVKM> obtenerTodos() {
		return segVKMDAO.obtenerTodos();
	}

	public SegVKM obtenerID(Integer id) {
		return segVKMDAO.obtenerID(id);
	}

	@Transactional
	public SegVKM suscribir(SegVKM entidad) {
		entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
		entidad.setFecmodif(Calendar.getInstance().getTime());
		entidad.setActivo(Boolean.TRUE);

		return segVKMDAO.suscribir(entidad);
	}

	@Transactional
	public SegVKM actualizacion(SegVKM entidad) {
		entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
		entidad.setFecmodif(Calendar.getInstance().getTime());
		entidad.setActivo(Boolean.TRUE);

		return segVKMDAO.actualizacion(entidad);
	}

	@Transactional
	public void borrar(SegVKM entidad) {
		entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
		entidad.setFecmodif(Calendar.getInstance().getTime());
		entidad.setActivo(Boolean.FALSE);

		segVKMDAO.actualizacion(entidad);
	}

	public List<SegVKM> buscar(String serie) {
		return segVKMDAO.buscar(serie);
		
	}

	@Override
	public String seriePorEmpresa(Integer empresaId) {
		return segVKMDAO.seriePorEmpresa(empresaId);
	}

	@Override
	public BigDecimal buscarSeguroPorKm(Long km, String serie, Integer orgaoConcedenteId) {
		return segVKMDAO.buscarSeguroPorKm(km, serie, orgaoConcedenteId);
	}
}
