package com.ejie.ab78.service.terceros;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.web.bind.annotation.PathVariable;

import com.ejie.ab78.model.expedientes.Expedientes;
import com.ejie.ab78.model.terceros.RelExpTer;
import com.ejie.ab78.model.terceros.VistaDatosExpediente;
import com.ejie.x38.dto.TableRequestDto;
import com.ejie.x38.dto.TableResponseDto;

/**
 * RelExpTerService  
 * 
 *  
 */

public interface RelExpTerService {

	RelExpTer add(RelExpTer relExpTer);

	RelExpTer update(RelExpTer relExpTer);

	RelExpTer find(RelExpTer relExpTer);

	void remove(RelExpTer relExpTer);

	List<RelExpTer> findAll(RelExpTer relExpTer, TableRequestDto TableRequestDto);

	List<RelExpTer> findAllLike(RelExpTer relExpTer, TableRequestDto TableRequestDto, Boolean startsWith);

	List<RelExpTer> findParticipaciones(Integer idExpediente);

	List<VistaDatosExpediente> findParticipaciones2(Integer idExpediente, Long tipoParticipantePrincipal);

	void registerDomicilioUbicacionSolicitante(HttpServletRequest request, @PathVariable("idTercero") Integer idTercero,
			Expedientes initForm);

	TableResponseDto<RelExpTer> filter(RelExpTer filterRelExpTer, TableRequestDto TableRequestDto, Boolean startsWith);

	Integer findFirstTerceroWhitoutEstablecimiento(Integer idExpediente);

	RelExpTer getRelExpTerByExpTercero(Integer idExpediente, Integer idTercero);

	void updateSubtipo(RelExpTer expTer);

}
