/*
 * 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.AgrupamentoParada;
import com.rjconsultores.ventaboletos.entidad.Ciudad;
import com.rjconsultores.ventaboletos.entidad.Nodo;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.RegionMetropolitana;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.TipoParada;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException;

/**
 * 
 * @author Administrador
 */
public interface ParadaService { 

	public Parada obtenerID(Integer id);

	public Parada suscribirActualizar(Parada entidad) throws BusinessException;

	public void borrar(Parada entidad) throws RegistroConDependenciaException;

	public List<Parada> buscar(String descparada, String cveparada, Ciudad ciudad,
			TipoParada tipoParada, Nodo nodo);

	public List<Parada> buscarCVE(String cveparada);

	public List<Parada> buscar(String descparada);

	public List<Parada> buscaLike(String descparada);

	public List<Parada> obtenerOrigenPorRuta(Ruta ruta);

	public List<Parada> obtenerTodos();

	public List<Parada> obterPossiveisDestinos(Parada origem);
	
	public List<Parada> buscaParadaRegionMetropolitana(RegionMetropolitana regionMetropolitana);
	
	public List<Parada> buscarPorAgrupamentoParadaId(AgrupamentoParada agrupamentoParada);
	
	public List<Parada> buscarDestinosPorOrigem(Integer origemId);	
	
	public List<Parada> obtenerOrigenPorListRutaIds(Integer orgaoConcendenteId, Integer empresaId,Integer[] listRuta);
	
	public List<String> buscarDescOrigemDestino(Integer origemId, Integer destinoId);

}
