package com.ejie.ab78.dao.terceros;

import java.util.List;

import com.ejie.ab78.model.terceros.DatosTerceros;
import com.ejie.ab78.model.terceros.RelExpTer;
import com.ejie.x38.dto.TableRequestDto;

/**
 * RelExpTerDao  
 * 
 *  
 */

public interface RelExpTerDao {

	RelExpTer add(RelExpTer relexpter);

	RelExpTer update(RelExpTer relexpter);

	RelExpTer updateByParticipantId(RelExpTer relexpter);

	RelExpTer updateByParticipantValue(RelExpTer relexpter);

	List<RelExpTer> findValorParticipant(Integer idExpediente);

	List<RelExpTer> findParticipacionesAgrupadas(RelExpTer relexpter);

	RelExpTer find(RelExpTer relexpter);

	List<RelExpTer> findParticipantes(Integer idExpediente);

	List<RelExpTer> findParticipantId(Integer idExpediente);

	List<RelExpTer> findIdTerceros(Integer idExpediente, String partipantId);

	void remove(RelExpTer relexpter);

	void removeidTercero(Integer idTercero);

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

	List<RelExpTer> findIdTerceros(Integer idExpediente);

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

	Long findAllLikeCount(RelExpTer relexpter, Boolean startsWith);

	Long findAllCount(RelExpTer relexpter);

	List<DatosTerceros> findTerceros(Integer idExpediente, String participantId);

	Integer findFirstTerceroWhitoutEstablecimiento(Integer idExpediente);

	RelExpTer getRelExpTerByExpTercero(Integer idExpediente, Integer idTercero);

	void updateSubtipo(RelExpTer expTer);

	void updateTelefonoTerceros(Integer idTercero, Long telefono);
}
