package br.com.ufrj.msi2.netuno.modelo.servicos;
import java.io.Serializable;
import java.util.List;
import javax.ejb.Local;
import br.com.ufrj.msi2.netuno.modelo.entidades.Contratante;
import br.com.ufrj.msi2.netuno.modelo.entidades.Contrato;
@Local
public interface ContratoService extends Serializable {
public Contrato criarContrato();
public void salvarContrato(Contrato contrato);
/**
* Salva contrato, definindo sua situa��o como Aguardando Coleta.
* @param contrato a ser salvo.
*/
public void salvarContratoAguardandoColeta(Contrato contrato);
public Contrato recuperaContratoPorId(Integer id);
/**
* Recupera contrato e as cargas associadas a ele.
* @param contrato
* @return Contrato com lista de cargas
*/
public Contrato recuperaContratoComCargas(Contrato contrato);
/**
* Recupera contratos em situa��o Aguardando Coleta, Aberto, Aguardando Entrega de um contratante.
* @param contratante
* @return Lista de Contratos
*/
public List<Contrato> recuperaContratosAbertosPorContratante(Contratante contratante);
public List<Contrato> recuperaContratosFechadosPorContratante(Contratante contratante);
}