package br.com.ec.controller;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.Serializable;
import java.util.List;
import javax.faces.context.FacesContext;
import javax.inject.Inject;
import javax.inject.Named;
import javax.servlet.ServletContext;
import org.primefaces.event.FileUploadEvent;
import org.primefaces.model.DefaultStreamedContent;
import org.primefaces.model.StreamedContent;
import org.springframework.context.annotation.Scope;
import br.com.ec.controller.consultademanda.EstampaConsultaPorDemanda;
import br.com.ec.core.exception.NegocioException;
import br.com.ec.core.generic.GenericService;
import br.com.ec.core.util.ArquivoUtil;
import br.com.ec.domain.dto.ArquivoPadraoDTO;
import br.com.ec.domain.dto.EstampaDTO;
import br.com.ec.domain.dto.ImagemDTO;
import br.com.ec.domain.dto.TemaEstampaDTO;
import br.com.ec.domain.dto.consulta.ParametrosConsultaEstampaDTO;
import br.com.ec.domain.model.Estampa;
import br.com.ec.domain.model.TemaEstampa;
import br.com.ec.domain.model.tipos.TipoComissionamento;
import br.com.ec.domain.service.ArquivosPadraoService;
import br.com.ec.domain.service.EstampaService;
import br.com.ec.domain.service.ImagemService;
import br.com.ec.domain.shared.ConstantesSEC;
import br.com.ec.web.exception.VerificadorLancamentoException;
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
import br.com.ec.web.exception.VerificadorLancamentoException.CommandRelatorioStreamedContent;
import br.com.ec.web.generic.AbstractBean;
import br.com.ec.web.message.LancadorMensagem;
import br.com.ec.web.util.TipoOperacao;
@Named
@Scope
("view")
public class ArquivosPadraoBean
extends AbstractBean
<ArquivoPadraoDTO
> implements Serializable {
private static final long serialVersionUID = 1L
;
private ArquivoPadraoDTO entidadeParaConsulta
;
private List<ArquivoPadraoDTO
> arquivosPadrao
;
private ArquivosPadraoService arquivosPadraoService
;
@Inject
public ArquivosPadraoBean
(ArquivosPadraoService arquivosPadraoService
) {
this.
arquivosPadraoService = arquivosPadraoService
;
}
@
Override
public void preCarregamento
() {
limparEntidade
();
carregarArquivos
();
}
@
Override
public void limparEntidade
() {
setEntidade
(new ArquivoPadraoDTO
());
}
@
Override
public GenericService
<ArquivoPadraoDTO
> getService
() {
return null;
}
@
Override
public ArquivoPadraoDTO getEntidade
() {
return entidade
;
}
@
Override
public void preConsultar
() {
setTipoOperacao
(TipoOperacao.
CONSULTAR);
}
@
Override
public ArquivoPadraoDTO getId
() {
return getEntidade
();
}
public List<ArquivoPadraoDTO
> getArquivosPadrao
() {
return arquivosPadrao
;
}
public void setArquivosPadrao
(List<ArquivoPadraoDTO
> arquivosPadrao
) {
this.
arquivosPadrao = arquivosPadrao
;
}
/*********************************************************/
private void carregarArquivos
() {
setArquivosPadrao
(arquivosPadraoService.
consultarArquivos());
}
/*********************************************************/
public StreamedContent downloadArquivo
(final ArquivoPadraoDTO arquivoPadraoDTO
) throws Exception {
return new VerificadorLancamentoException
().
verificarLancamentoException(new CommandRelatorioStreamedContent
() {
@
Override
public StreamedContent execute
() {
return arquivosPadraoService.
downloadArquivo(arquivoPadraoDTO
);
}
});
}
public void prepararDetalhar
(TemaEstampaDTO temaEstampaDTO
) {
// super.preDetalhar(temaEstampaService.consultarPorId(new TemaEstampa(temaEstampaDTO.getSequencial())));
}
public void prepararAlterar
(TemaEstampaDTO temaEstampaDTO
) {
// super.preAlterar(temaEstampaService.consultarPorId(new TemaEstampa(temaEstampaDTO.getSequencial())));
}
private void consultarEstampas
() {
// setEstampas(estampaService.consultarEstampas(getEntidadeParaConsulta().getTemaEstampa()));
}
/*
public void uploadImagem(final FileUploadEvent e) {
new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
public void execute() {
ImagemDTO imagemEnviada = imagemService.uploadImagem(e.getFile(), getEntidade().identificadorImagemEstampa(), imagemService.caminhoPastaEstampas());
getEntidade().setExtensao(imagemEnviada.getExtensao());
alterar(getEntidade());
LancadorMensagem.lancarSucessoRedirecionandoTela("ESTAMPA ADICIONADA COM SUCESSO", "/sistema/estampas/estampas.xhtml");
}
});
}
public String retornarCaminhoEstampa(Estampa estampa) {
return imagemService.retornarCaminhoImagem(imagemService.caminhoPastaEstampas(), imagemService.caminhoPadraoEstampas(), estampa.identificadorImagemEstampa(), estampa.getExtensao());
}
*/
}