using Gestor.Infrastructure.Entities.Seguros; using Gestor.Infrastructure.Repository.Generic; using Gestor.Model.Common; using Gestor.Model.Domain.Ferramentas; using Gestor.Model.Domain.Relatorios; using Gestor.Model.Domain.Relatorios.Classificacao; using Gestor.Model.Domain.Relatorios.ClientesAtivosInativos; using Gestor.Model.Domain.Relatorios.Dashboard; using Gestor.Model.Domain.Seguros; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Gestor.Infrastructure.Repository.Interface { public interface IClienteRepository : IGenericRepository { void AddCentralSegurado(long id, bool update); Task> BuscaClientes(bool completo, long idempresa); Task> BuscaClientesVinculo(bool completo, List vinculo, long idempresa); DateTime? BuscaNascimeto(long id); Task> BuscaProspeccoes(Filtros filtro, long idEmpresa = 0L); List BuscarAniversariantes(Filtros filtro, long idempresa = 0L); List BuscarAniversariantesVinculo(Filtros filtro, List vinculo, long idempresa = 0L); Task> BuscarClassificacoes(long id); string BuscarLogAntigo(long id, string connection); List BuscarOrigem(long id); List BuscarVencimentoCnh(Filtros filtro, long idempresa = 0L); void Delete(long id); void DeleteOrigem(long id); List Find(string filter, long idempresa = 0L, bool acessoAgger = false, bool assintatura = false); List FindAllClientes(bool completo, long idempresa = 0L); Cliente FindById(long id); List FindByName(string filter, long idempresa = 0L, bool acessoAgger = false, bool assintatura = false, bool somenteNome = false); List FindClienteDocumento(string documento); List FindClienteVinculo(string filter, List vinculos, long idempresa = 0L, bool acessoAgger = false, bool assinatura = false, TipoFiltroCliente tipoFiltroCliente = 2); List FindObsCliente(string obsCliente, long idempresa = 0L); List FindPastaCliente(string pastaCliente, bool busca = false, long idempresa = 0L); List FindVinculo(string filter, long id); Cliente Merge(Cliente cliente); OrigemCliente Merge(OrigemCliente origem); Cliente SaveOrUpdate(Cliente cliente); OrigemCliente SaveOrUpdate(OrigemCliente origem); List Sincronize(List origens, long id); } }