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

import java.util.List;

import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
import com.rjconsultores.ventaboletos.entidad.PuntoVentaVO;
import com.rjconsultores.ventaboletos.entidad.Usuario;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.exception.IntegracionException;
import com.rjconsultores.ventaboletos.exception.ValidacionCampoException;

/**
 * 
 * @author Administrador
 */
public interface PuntoVentaService {
	
	public List<PuntoVenta> obtenerTodos();

	public PuntoVenta obtenerID(Integer id);

	public PuntoVenta suscribir(PuntoVenta entidad) throws IntegracionException, ValidacionCampoException;

	public PuntoVenta actualizacion(PuntoVenta entidad) throws IntegracionException, ValidacionCampoException;

	public void borrar(PuntoVenta entidad)throws BusinessException;

	public List<PuntoVenta> buscaLike(String strEstacion, boolean sinTodos);

	public List<PuntoVenta> buscar(String nomPuntoVenta, String numPuntoVenta);

	public List<PuntoVenta> buscaPuntoVenta(String numPuntoVenta);

	public List<PuntoVenta> buscaPuntoVentaParada(Parada parada);

	public List<PuntoVenta> buscarPuntoVentaSubordinados(PuntoVenta puntoVenta);

	public List<PuntoVenta> buscarPuntosVentaMovimentacionBilhetes(List<Empresa> empresas);

	public List<PuntoVenta> buscarPuntosVentaPorUsuario(Usuario usuario);
	
	public List<PuntoVentaVO> buscaPuntoVentaEmpresaSemECF(Empresa empresa);

	List<PuntoVenta> buscarPuntoVentaPtoVtaComissao(List<Empresa> empresas);
	
}
