using Gestor.Infrastructure.Entities.Seguros; using Gestor.Infrastructure.Repository.Generic; using Gestor.Model.Domain.Aggilizador; using Gestor.Model.Domain.Relatorios; using Gestor.Model.Domain.Relatorios.PrevisaoPagamentoComissao; using Gestor.Model.Domain.Seguros; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Gestor.Infrastructure.Repository.Interface { public interface IParcelaRepository : IGenericRepository { Task> BuscaDocumentosPorVigencia(Filtros filtro, bool buscaAssinaturas = false, bool painelBi = false); Documento BuscarApolice(long id); string BuscarLogAntigo(long id, string conn); ParcelaPendente BuscarPendencia(long id); void Delete(long id); void DeleteRange(long id); bool ExcluirVinculoParcelaPendenteDocExcluido(Documento doc); Task> FaturaPendente(Filtros filtro); List FindByDocumentId(long id); List FindByDocumentId(List ids); List FindByDocumentIds(string ids, List documentos); List FindByDocumento(Documento documento); Parcela FindById(long id); List FindByPagamento(Filtros filtro, bool reciboPagamento, bool segundaViaReciboPagamento, bool datacontrole); List FindByPendente(Filtros filtro, bool pendente, bool somenteAtivos); Task> FindByRecebimento(Filtros filtro); List FindByVencimento(Filtros filtro); List FindByVigencia(Filtros filtro); List FindDocumentId(List ids); List FindNumFatura(string numero); Parcela Merge(Parcela parcela); List PrevisaoPagamentoComissao(Filtros filtro); Parcela SaveOrUpdate(Parcela parcela); int[] SincronizarPendencia(DateTime date, List ids = null); bool Update(List detalhes, bool desabilitaAproximacao); List UpdateRange(List parcelas); } }