Fazer busca em lista
Tenho 3 listas. Rotina, Agenda e Tarefas.
Rotina possui Agenda e Tarefas. No meu método de retorno, eu trago todas as Rotinas cadastradas e agora preciso fazer com pelo IdRotina, eu busco o agendamento e as tarefas(Não nível banco, mas nível aplicação - C#). Assim eu trago todas as rotinas:
List<Entity.Rotina> listaRotina = new List<Entity.Rotina>();
listaRotina = Repository.Rotina.RetornarTodos();
Então, tendo todos os Id's de Rotina, preciso agora buscar os agendamentos e também executar as tarefas agendadas. A dúvida seria pegar os agendamentos e tarefas apartir de rotina, mas não gostaria de usar o Foreach e nem o For, mas sim, uma expressão Lambda, Linq ou algo pareceido, para evitar de sempre que for executar, não ficar num loop, apesar de sempre vai haver um loop implícito, mas para buscar. Uma rotina possui 1 ou vários agendamentos e idem para Tarefas. tarefa e Agendamento recem FK IdRotina. A execução das tarefas, obedecem a uma ordem em um campo chamado OrdemExecucao. To apanhando para fazer isso, mas em buscar as tarefas e agendamentos.
Rotina possui Agenda e Tarefas. No meu método de retorno, eu trago todas as Rotinas cadastradas e agora preciso fazer com pelo IdRotina, eu busco o agendamento e as tarefas(Não nível banco, mas nível aplicação - C#). Assim eu trago todas as rotinas:
List<Entity.Rotina> listaRotina = new List<Entity.Rotina>();
listaRotina = Repository.Rotina.RetornarTodos();
Então, tendo todos os Id's de Rotina, preciso agora buscar os agendamentos e também executar as tarefas agendadas. A dúvida seria pegar os agendamentos e tarefas apartir de rotina, mas não gostaria de usar o Foreach e nem o For, mas sim, uma expressão Lambda, Linq ou algo pareceido, para evitar de sempre que for executar, não ficar num loop, apesar de sempre vai haver um loop implícito, mas para buscar. Uma rotina possui 1 ou vários agendamentos e idem para Tarefas. tarefa e Agendamento recem FK IdRotina. A execução das tarefas, obedecem a uma ordem em um campo chamado OrdemExecucao. To apanhando para fazer isso, mas em buscar as tarefas e agendamentos.
Pjava
Curtidas 0
Respostas
Joel Rodrigues
30/08/2012
Um objeto Rotina possui uma lista de objetos Agendamento e Tarefa?
Você pode usar a cláusula Where em uma instrução LINQ com expressões Lambda e ter acesso a essas listas do objeto selecionado. Por exemplo:
Sacou a ideia?
Você pode usar a cláusula Where em uma instrução LINQ com expressões Lambda e ter acesso a essas listas do objeto selecionado. Por exemplo:
listaRotinas.Where(r => r.IdRotina.Equals(123)).First().Tarefas; listaRotinas.Where(r => r.IdRotina.Equals(123)).First().Agendamentos;
Sacou a ideia?
GOSTEI 0
Pjava
30/08/2012
Desculpe pela minha ignorancia, mas quando eu chamo Equals(), vc colocou um valor hipotético lá, mas com o que eu comparo. E o tarefas e agendamentos, o qual eu coloquei minha classe lá, dá erro.
GOSTEI 0
Joel Rodrigues
30/08/2012
Novamente vou lhe pedir para especificar qual erro ocorre, para facilitar a solução. Com relação ao Equals, sim você deve colocar o Id desejado. Isso é equivalente a usar o operador de igualdade ==.
Abraço.
Abraço.
GOSTEI 0
Pjava
30/08/2012
O erro é:
Only assigment,call,increment,decrement....can be used a statement
Only assigment,call,increment,decrement....can be used a statement
GOSTEI 0
Joel Rodrigues
30/08/2012
Em que ponto esse erro ocorre?
GOSTEI 0
Joel Rodrigues
30/08/2012
E aí, PJava, como ficou ?
GOSTEI 0
Pjava
30/08/2012
Desculpe-me não ter avisado antes. Mudamos algumas coisas no Projeto e não foi mais necessários isso. Esse post pode ser encerrado.
GOSTEI 0
Joel Rodrigues
30/08/2012
ok, obrigado pelo retorno.
Estou encerrando o tópico.
Estou encerrando o tópico.
GOSTEI 0