package br.com.ec.domain.service;
import java.util.List;
import org.primefaces.model.StreamedContent;
import br.com.ec.core.generic.GenericService;
import br.com.ec.domain.dto.AvaliacaoDTO;
import br.com.ec.domain.dto.AvaliacaoFuncionarioDTO;
import br.com.ec.domain.dto.FuncionarioDTO;
import br.com.ec.domain.dto.LojaDTO;
import br.com.ec.domain.dto.VigenciaDTO;
import br.com.ec.domain.model.Avaliacao;
import br.com.ec.domain.model.AvaliacaoProduto;
public interface AvaliacaoService
extends GenericService
<Avaliacao
> {
AvaliacaoDTO consultarAvaliacao
(Long sequencialVigencia
);
List<AvaliacaoProduto
> consultarProdutosPromocaoInterna
(Long sequencialAvaliacao
);
void excluirProdutoPromocaoInterna
(AvaliacaoProduto avaliacaoProduto
);
void cadastrarProdutoPromocaoInterna
(Avaliacao avaliacao,
String codigoProduto
);
AvaliacaoDTO consultarAvaliacaoCompleta
(Long sequencialAvaliacao
);
void importarAvaliacaoAnterior
(VigenciaDTO vigencia, VigenciaDTO vigenciaSelecionadaParaImportar
);
void adicionarLojaNaAvaliacao
(AvaliacaoDTO avaliacao, LojaDTO lojaParticipante
);
void removerLojaDaAvaliacao
(AvaliacaoDTO avaliacao, LojaDTO lojaParticipante
);
void removerParticipanteDaAvaliacao
(AvaliacaoFuncionarioDTO avaliacaoFuncionarioDTO
);
void adicionarParticipanteNaAvaliacao
(AvaliacaoDTO avaliacao, LojaDTO lojaParticipante, FuncionarioDTO funcionarioParticipante
);
StreamedContent emitirRelatorioImportacaoFolhaPagamento
(AvaliacaoDTO avaliacaoSelecionada
);
/*
Avaliacao detalhar(Avaliacao avaliacao);
Avaliacao consultarAvaliacaoDaVigencia(Vigencia vigencia);
List<Avaliacao> consultarAvaliacoesDivulgadas();
void solicitarReavaliacao(RankingVendedorDTO rankingVendedor, String solicitacao);
byte[] emitirRelatorioImportacaoFolhaPagamento(ServletContext context, Avaliacao avaliacao, Long empresa);
*/
}