package br.com.ec.repository;
import java.util.List;
import br.com.ec.core.generic.GenericRepository;
import br.com.ec.domain.dto.NotaFiscalDTO;
import br.com.ec.domain.dto.NotaFiscalProdutoDTO;
import br.com.ec.domain.dto.consulta.ParametrosConsultaNotaFiscal;
import br.com.ec.domain.model.NotaFiscal;
import br.com.ec.domain.model.Pessoa;
import br.com.ec.domain.model.Venda;
public interface NotaFiscalRepository
extends GenericRepository
<NotaFiscal
> {
NotaFiscal detalhar
(Long sequencialNotaFiscal
);
List<String> consultarXmlNotasFiscais
(ParametrosConsultaNotaFiscal parametrosConsultaNotaFiscalDTO
);
void desvincularVenda
(Long sequencialNotaFiscal
);
void vincularVenda
(Long sequencialNotaFiscal, Venda vendaParaVinculo
);
List<NotaFiscalProdutoDTO
> consultarProdutosVinculados
(Long sequencialNotaFiscal
);
NotaFiscalDTO consultarPorChave
(String chave
);
Long consultarProximoNumeroNotaFiscal
(String tipoNotaFiscal, Pessoa pessoaEmitente
);
/*
NotaFiscal consultarPelaChaveEeTipo(String chave, String tipoNotaFiscal);
NotaFiscal consultarPeloNumeroEeTipo(Long numeroNotaFiscal, String tipoNotaFiscal);
NotaFiscal consultarPelaChave(String chave);
List<NotaFiscal> consultarNotasFiscais(Venda venda);
List<NotaFiscal> consultarNotasFiscais(ParametrosConsultaNotaFiscalDTO parametros);
void desvincularVenda(NotaFiscal notaFiscal);
Boolean verificarSeNotaFiscalJaVinculadaComVenda(Venda venda, String tipoModeloNotaFiscal, String tipoNotaFiscal);
*/
}