package com.rjconsultores.ventaboletos.service;

import java.util.List;

import com.rjconsultores.ventaboletos.entidad.ConexionCtrl;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaConf;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta;
import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaConfVO;
import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaCtrlVO;
import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta;

public interface ConexionRutaConfService {

	public ConexionRutaConf suscribir(ConexionRutaConf conexion);

	public ConexionRutaConf actualizacion(ConexionRutaConf conexion);

	public void borrar(ConexionRutaConf conexion);

	public void borrar(List<ConexionRutaConf> lsConexion);

	public void suscribirTodos(List<ConexionRutaConf> conexiones);
	
	public List<ConexionRutaConf> obtenerTodosActivo();
	
	public ConexionRutaConf getByIdActivo(Integer conexionRutaConfId);

	public List<ConexionRutaConf> buscarPorDescricao(String descricao);
	
	public ConexionRutaConf obtenerID(Integer id);
	
	public ConexionRutaConf salvarConfiguracao(ConexionRutaConf conexion, List<TipoPuntoVenta> canalVentas, List<PuntoVenta> puntoVentas,
								   			   List<ConexionCtrl> conexoesCtrl, List<ConexionRutaCtrlVO> rutas, List<ParadaVOConexionRuta> localidadesCombinadas,
								   			   boolean isConexionGerada);
	
	public void excluirConfiguracao(ConexionRutaConf conexion, boolean excluirConexionRutaConf, boolean isConexionGerada);
	
	public ConexionRutaConfVO carregarConexoesCadastradas(Integer conexionrutaconfId);
	
	public List<List<Ruta>> buscarRutasPorConexionConf(Integer conexionRutaConfId);

}
