private void AdicionarFiltroDoTermoPesquisado(IConfiguracaoQuery config, string termo) { var pesquisaChave = config.DefinirParametro("pesquisaChave"); pesquisaChave.Valor(true); var sql = new StringBuilder(); sql.Append("("); sql.Append("((@pesquisaChave=1) and "); sql.Append(CriarFiltroPorChaveIgualAoTermo(termo)); sql.Append(")"); sql.Append("or"); sql.Append("((@pesquisaChave=0) and "); sql.Append(CriarFiltroPorResultadoContendo(termo)); sql.Append(")"); sql.Append(")"); config.AdicionarCondicaoPersonalizada(sql.ToString()); if (!_contexto.Buscar().Existe(config)) { pesquisaChave.Valor(false); } }
private void PersonalizarConsulta(IPesquisaPersonalizada personalizacao, IConfiguracaoQuery config) { if (personalizacao != null) { personalizacao.PersonalizarPesquisa(config); } }
private void DefinirTopUm(IConfiguracaoQuery configuracao) { if (configuracao == null) { return; } configuracao.DefinirLimite(1); }
protected void DefinirTopUm(IConfiguracaoQuery <TObjeto> configuracao) { if (configuracao == null) { return; } configuracao.DefinirLimite(1); }
private IConfiguracao <TObjeto> CriarConfiguradorDaChave(IConfiguracaoQuery <TObjeto> query, TObjeto objeto) { foreach (var item in _dicionario.ConsultarCamposChave()) { var valor = item.Propriedade.GetValue(objeto, null); query.AdicionarCondicaoPersonalizada(string.Concat("([", item.Nome, "]=@c", item.Id, ")")); query.DefinirParametro(string.Concat("c", item.Id)).Tipo(item.TipoBanco, valor); } return(query); }
private IList <object> ConverterConsultaEmObjeto(IConfiguracaoQuery config, int pagina) { var resultado = new List <object>(); var tabela = _contexto.Buscar().Varios(config); var propriedades = _configuracao.TipoObjeto.GetProperties(); for (int indice = (pagina - 1) * 10; indice < pagina * 10; indice++) { if (indice >= tabela.Rows.Count) { break; } var registro = tabela.Rows[indice]; resultado.Add(ConverterRegistroEmObjeto(propriedades, tabela, registro)); } return(resultado); }
private void AdicionarFiltroDosDependentesInformados(IDependente configuracaoDependentes, IConfiguracaoQuery config, string[] dependentes) { if (configuracaoDependentes == null) { return; } var camposDependentes = new List <Dependente>(); configuracaoDependentes.ConfigurarDependentes(camposDependentes); for (int indice = 0; indice < camposDependentes.Count; indice++) { var nomeParametro = string.Concat("@dependente", indice + 1); config.AdicionarCondicaoPersonalizada(camposDependentes[indice].CondicaoSql); if (indice < dependentes.Length) { config.DefinirParametro(nomeParametro).Valor(dependentes[indice]); } else { config.DefinirParametro(nomeParametro).Nulo(); } } }