package com.ejie.ad74a.ws.client.prestadorWS.service;

import java.math.BigDecimal;

import com.ejie.ad74a.model.Expedientes;
import com.ejie.ad74a.model.Solicitantes;
import com.ejie.ad74a.ws.client.prestadorWS.Comunicacion;
import com.ejie.ad74a.ws.client.prestadorWS.data.ActualizacionDatosDssResponse;
import com.ejie.ad74a.ws.client.prestadorWS.data.AltaPersonaBeneficiariaResponse;
import com.ejie.ad74a.ws.client.prestadorWS.data.BajaPersonaBeneficiariaResponse;
import com.ejie.ad74a.ws.client.prestadorWS.data.CambioDomicilioResponse;
import com.ejie.ad74a.ws.client.prestadorWS.data.RecepcionPeticionAd74AResponse;

/**
 * TelevidaService. Cliente para el servicio web que expone el prestador del
 * servicio.
 * 
 * 
 * @author
 */
public interface PrestadorWSService {

	AltaPersonaBeneficiariaResponse enviarAlta(Solicitantes solicitantes, Expedientes expedientes) throws Exception;

	AltaPersonaBeneficiariaResponse relanzarEnviarAlta(Comunicacion comunicacion) throws Exception;

	BajaPersonaBeneficiariaResponse enviarBaja(Solicitantes solicitantes, Expedientes expedientes) throws Exception;

	BajaPersonaBeneficiariaResponse relanzarEnviarBaja(Comunicacion comunicacion) throws Exception;

	ActualizacionDatosDssResponse enviarModificacion(Solicitantes solicitantes, Expedientes expediente)
			throws Exception;

	ActualizacionDatosDssResponse relanzarEnviarModificacion(Comunicacion comunicacion) throws Exception;

	CambioDomicilioResponse enviarCambioDomicilio(Solicitantes solicitantes, Expedientes expedientes) throws Exception;

	CambioDomicilioResponse relanzarEnviarCambioDomicilio(Comunicacion comunicacion) throws Exception;

	RecepcionPeticionAd74AResponse enviarRecepcionPeticionAd74A(BigDecimal idPeticion, BigDecimal codEstado)
			throws Exception;
}
