Como realizar pesquisa com mais de um parametro?

18/07/2014

0

Ola galera estou com um problema acredito que pequeno mas ainda nao consegui resolver. Seguinte tenho uma textBox que é para realizar uma pesquisa, assim que o usuario informar o que pesquisa ex.:(uma cidade ou tipo de profissional) eu fiz aqui galera deu tudo certo porem ele esta realizando a pesquisa somente quando informo o profissional nao sei como fazer para passar dois parametros? deem uma olhada como esta a pesquisa e os metodos.

[img]http://arquivo.devmedia.com.br/forum/imagem/335183-20140718-134346.png[/img]

E os codigos:
 public List<SERVICO> BuscarServicoProfissional(string textoPesquisa)
        {
            return Find(s => s.TIPOPROFISSIONAL.descTipoProf.Contains(textoPesquisa)).ToList();
        }

        public List<SERVICO> BuscarServicoCidade(string textoPesquisa)
        {
            return Find(s => s.cidade.Contains(textoPesquisa)).ToList(); 
        }

Bem aqui é o metodo que realiza a pesquisa e retorna o que foi pesquisado no textBoxSearch, porem criei dois metodos galera pois achei que daria certo mas ele nao funciona so pesquisa pelo profissional pela cidade ele retorna vazio. tinha tentado fazer assim:
  public List<SERVICO> BuscarServicoProfissional(string textoPesquisa)
        {
            return Find(s => s.TIPOPROFISSIONAL.descTipoProf.Contains(textoPesquisa)).ToList() || Find(s => s.cidade.Contains(textoPesquisa)).ToList(); 
        }

Porem sem sucesso algum ele da erro depois do || ...

Se alguem souber como faço para resolver agradeço muito galera pois na minha pesquisa o ideia seria ele pesquisar pelo tipo de profissional ou pela cidade e só esta funcionando pelo profissional.

Grato. Delivery TI.
Celiol.

Celiol.

Responder

Posts

18/07/2014

Joel Rodrigues

Está dando erro porque o OU ( || ) deve ficar dentro da query, ou seja:
Find(s => s.TIPOPROFISSIONAL.descTipoProf.Contains(textoPesquisa) || s.cidade.Contains(textoPesquisa)).ToList();
Responder

18/07/2014

Celiol.

O Joel deu certo cara mas não é querendo abusar mas tentei um uma pesquisa adicionar tambem uma comparação do codigo que é inteiro. Mas ele nao aparece pra mim o Contains entao coloquei o Compare quando fui testar ele deu erro...?

E que tem uma peaquisa que seria muito util se eu pesquisar pelo codigo tambem.

Grato Delivey TI.
Responder

23/07/2014

Joel Rodrigues

O Contains é para strings, você quer realmente usá-lo para comparar inteiros? Não seria uma comparação de igualdade nesse caso?
Se for ocaso de usar o Cotnains, converta os dois lados para string e dará certo. Se quiser usar uma comparação de igualdade, use o Equals
Responder

23/07/2014

Celiol.

Ha blz Joel ja consegui aqui usei esse equals mesmo, e que tem uma pagina aqui que o melhor e se alem da cidade e do tipo de profissao o usuario poder pesquisar pelo codigo. Mas obrigadao pela ajuda.
Eu sempre faço as peguntas de alguns problemas que tenho e ainda continua tentando e quebrando a cabeça aqui, e as vezes chego na solução.

Mas valeu. Grato Delivery TI.
Responder

25/07/2014

Joel Rodrigues

Show de bola que deu certo.
É assim mesmo que tem que ser, perguntamos mas continuamos tentando.
Um abraço e bons códigos.
Responder

28/07/2014

Celiol.

Ola Joel tenho um problema que não verdade ainda não é nem um erro acredito que seja uma regra da própria classe do DataList, é o seguinte eu tenho dentro do meu DataList o ItemTemplate e o AlternateItem que mostra os dados aleatoriamente tudo correto,,, Mas dentro de cada item destes eu tenho uma modal que mostra os dados do profissional, embaixo eu tenho uma aba que tem 3 opções:

- Comentários sobre o profissional
-fazer um comentário
- avaliar o profissional

pois bem. Na primeira cara eu tenho uma panel e quero fazer com que apareça apenas 15 ou 20 comentários e não que fique uma scrollbar infinita, o que pretendo é fazer com que toda vez que chegar no numero máximo de comentários ex,:(se eu definir 15 quando estiver os 15 comentários ao entrar o próximo o primeiro seja apagado uma coisa rotativa), entendeu?

Agora problemas da classe que dize acima, quando tento acessar o método click do botão que esta dentro do datalist e dentro dessa modal, ele da um erro e fala que não existe o btnComentar_Click, e nem mesmo o textBox que o cara digita o comentário ele não consegue encontrar isso acontece também para a aba que o cara avalia o profissional que tem o radioBottom e o btnValiar_Click ele da o mesmo erro.

Com todo certeza você sabe mas so para deixar claro para eu acessar alguma classe que eu coloque dentro do DataList ate onde eu sei eu tenho que verificar que tipo é:

ex
      if(e.Item.UtemType != ListItemType.Header && e.Item.UtemType != ListItemType.Footer)
     {
          //agora sim eu consigo acessar as classes que eu chamar dentro do dataList
         ((label)e.Item.FindControl("lblTelefone")).Text = ((PROFISSIONAL)e.Item.DataItem).foneProfissional;
     }


Então dessa maneira que eu sei trabalhar com o DataList não sei se tem outra saída você conhece?

E que eu não queria fazer uma pagina inteira so para o cara deixar um comentário, ou então para avaliar o profissional na própria pagina de detalhes ou melhor nessa modal que ele abre para ver mais informações do profissional ele já faz o comentário e também pode avalia-lo.

Tem como dar umas dicar Joel?

Grato Deliveru-TI.
Responder

28/07/2014

Joel Rodrigues

Vamos fazer manter o foco do assunto no tópico, beleza? Para novas dúvidas, por favor abra um novo tópico, pois facilita a busca futuramente.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar