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

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.vo.parada.ParadaVO;

import java.util.List;

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

	public Parada obtenerID(Integer id);

	public Parada suscribir(Parada entidad);

	public Parada actualizacion(Parada entidad);

	public Long count(String campo, Object o);

	public List<Parada> buscar(String descparada, String cveparada, Ciudad ciudad,TipoParada tipoParada, Nodo nodo);
	
	/**
	 * Busca as paradas que tenham o codAntt informado
	 *  
	 * @param codAntt
	 * @return
	 */
	public List<Parada> buscar(Integer codAntt);

	public List<Parada> buscar(String descparada);

	public List<Parada> buscarCVE(String cveparada);

	public List<Parada> buscaLike(String descparada);

	public Long count(TipoParada tipoParada);

	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> buscarListaPorIds(List<Integer> paradaIds);

	public Parada buscarPorId(Integer paradaId);
	
	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);
	
}
