summaryrefslogtreecommitdiff
path: root/Codemerx/Gestor.Infrastructure/Gestor.Infrastructure.Repository.Interface/IClienteRepository.cs
blob: e65df00f195624874d8aa1be09fe1cee4b56a5c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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<ClienteDb>
	{
		void AddCentralSegurado(long id, bool update);

		Task<IEnumerable<ClientesAtivosInativos>> BuscaClientes(bool completo, long idempresa);

		Task<IEnumerable<ClientesAtivosInativos>> BuscaClientesVinculo(bool completo, List<VendedorUsuario> vinculo, long idempresa);

		DateTime? BuscaNascimeto(long id);

		Task<List<Prospectar>> BuscaProspeccoes(Filtros filtro, long idEmpresa = 0L);

		List<ClientesAtivosInativos> BuscarAniversariantes(Filtros filtro, long idempresa = 0L);

		List<ClientesAtivosInativos> BuscarAniversariantesVinculo(Filtros filtro, List<VendedorUsuario> vinculo, long idempresa = 0L);

		Task<List<Classificacao>> BuscarClassificacoes(long id);

		string BuscarLogAntigo(long id, string connection);

		List<OrigemCliente> BuscarOrigem(long id);

		List<ClientesAtivosInativos> BuscarVencimentoCnh(Filtros filtro, long idempresa = 0L);

		void Delete(long id);

		void DeleteOrigem(long id);

		List<Cliente> Find(string filter, long idempresa = 0L, bool acessoAgger = false, bool assintatura = false);

		List<ClientesAtivosInativos> FindAllClientes(bool completo, long idempresa = 0L);

		Cliente FindById(long id);

		List<Cliente> FindByName(string filter, long idempresa = 0L, bool acessoAgger = false, bool assintatura = false, bool somenteNome = false);

		List<Cliente> FindClienteDocumento(string documento);

		List<Cliente> FindClienteVinculo(string filter, List<long> vinculos, long idempresa = 0L, bool acessoAgger = false, bool assinatura = false, TipoFiltroCliente tipoFiltroCliente = 2);

		List<Cliente> FindObsCliente(string obsCliente, long idempresa = 0L);

		List<Cliente> FindPastaCliente(string pastaCliente, bool busca = false, long idempresa = 0L);

		List<Cliente> FindVinculo(string filter, long id);

		Cliente Merge(Cliente cliente);

		OrigemCliente Merge(OrigemCliente origem);

		Cliente SaveOrUpdate(Cliente cliente);

		OrigemCliente SaveOrUpdate(OrigemCliente origem);

		List<OrigemCliente> Sincronize(List<OrigemCliente> origens, long id);
	}
}