package com.ejie.ab79.service.expedientes;

import java.util.List;

import com.ejie.ab79.model.REST.servicioWeb.Ubicacion;
import com.ejie.ab79.model.expedientes.DatosDirecciones;
import com.ejie.ab79.model.expedientes.DatosTerceros;
import com.ejie.ab79.model.inspecciones.Inspecciones;

/**
 * DatosDireccionesService  
 * 
 *  
 */

public interface DatosDireccionesService {

	/**
	 * Inserts a single row in the DatosDirecciones table.
	 *
	 * @param datosDirecciones
	 *            DatosDirecciones
	 * @return DatosDirecciones
	 */
	DatosDirecciones add(DatosDirecciones datosDirecciones);

	/**
	 * Updates a single row in the DatosDirecciones table.
	 *
	 * @param datosDirecciones
	 *            DatosDirecciones
	 * @return DatosDirecciones
	 */
	DatosDirecciones update(DatosDirecciones datosDirecciones);

	/**
	 * Finds a single row in the DatosDirecciones table.
	 *
	 * @param datosDirecciones
	 *            DatosDirecciones
	 * @return DatosDirecciones
	 */
	DatosDirecciones find(DatosDirecciones datosDirecciones);

	DatosDirecciones findIdEstablecimiento(Integer idExpediente);

	DatosDirecciones findIdEstablecimientoByRelEstIns(Inspecciones inspeccion);

	Ubicacion findUbicacionPostalByIdTercero(Integer idTercero);

	DatosDirecciones findIdEstablecimientoByIdInspeccion(Integer idInspeccion);

	List<Ubicacion> findUbicacionesREST(Integer idExpediente, Integer integer);

	DatosDirecciones findDomicilioUbicacion(Integer idExpediente, Long idDireccionSolicitante);

	DatosDirecciones findDomicilioUbicacionSinExpediente(Integer idInspeccion, Long idDireccionSolicitante);

	DatosDirecciones buscarEstablecimiento(String numeroRegistro);

	void eliminarTercero(DatosTerceros datosTercero);

}
