Problemas com lógica para trazer dados de uma lista ou tabela

22/09/2014

0

Fiz vários posts aqui e resolvi quase todos os problemas. Porem entendi que o problema estava na lógica que eu montei para trazer o resultado. Sei que eu estou perguntando bastante, mas estou tentando e percebo que falta algo mais em mim para resolver a questão. Tenho uma linq que me trás tudo que eu preciso. Porem da forma que vem, não consigo montar minha tela. Aí, após vários posts e orientações aqui e em outro site, disseram-me que eu exportasse listas separadas para cada situação pretendida. Aí que eu me perdi todo e peço ajuda a vocês. Meu cenário é esse. A primeira linq, me trás todas as informações do meu banco, seguindo alguns critérios. Para cada Motivo, eu trago uma lista de UN. Cada UN uma lista de Família e assim vai. Quando eu fiz a segunda linq para buscar a UN referente a cada Motivo, foi aí que percebi que estava errado. Falta algo que não consigo encaixar. Consegui fazer com que os Motivos e as UN não se repetisse. Mas não consigo listar as UN referentes ao Motivo correspondente. Na linq UN, eu peguei da tabela Apresentação e essa tabela não se relaciona com a Motivo e por isso o pau. Abaixo as linq. A primeira trás tudo e a segunda tentativa de trazer as UN relativas a cada Motivo. Não deu certo.

Minha linq(tudo):

var monta_arvore = db.Ruptura
                                   .Where(m => m.IDMotivo != 7)
    
                                   .Select(rup => new MontaArvoreAcao
                                   {
                                       IDRuptura = rup.IDRuptura,
                                       DataRuptura = rup.DataRuptura,
                                       IDMotivo = rup.IDMotivo,
                                       Motivo = rup.Motivo.Motivo1,
                                       IDOrigem = rup.IDOrigem,
                                       CodigoPDV = rup.CodigoPDV,
                                       UF = rup.PDV.UF,
                                       Cidade = rup.PDV.Cidade,
                                       CnpjDescricao = rup.PDV.Cnpj + " - " + rup.PDV.Descricao,
                                       Codigo_Apresentacao = rup.Codigo_Apresentacao,
                                       Unidade_Negocio = rup.Apresentacao.Unidade_Negocio,
                                       Codigo_Unidade_Negocio = rup.Apresentacao.Codigo_Unidade_Negocio,
                                       Franquia = rup.Apresentacao.Franquia,
                                       Familia = rup.Apresentacao.Familia,
                                       Descricao = rup.Apresentacao.Descricao
    
                                   }).ToList().OrderBy(r => r.IDMotivo);


Minha linq UN:

foreach (var _idmotivo in monta_arvore)
                {
                    _listaUnidade = db.Apresentacao
                                    .GroupBy(g => new { Codigo = g.Codigo_Unidade_Negocio, UN = g.Unidade_Negocio})
                                    .Where(un => un.Key.Codigo != "0")
                                    .Select(u => new MontaArvoreAcao
                                    {
                                        Unidade_Negocio = u.Select(s => s.Unidade_Negocio).FirstOrDefault(),
                                        Codigo_Unidade_Negocio = u.Key.Codigo
                                    })
                                    .ToList()
                                    .OrderBy(o => o.Unidade_Negocio);
                }


Veja que realmente não dá certo, da forma que está.
Pjava

Pjava

Responder

Posts

23/09/2014

Pjava

Fazendo da forma acima postada, só aparece uma única UN para cada Motivo e deveria aparecer todas as UN relacionadas com cada Motivo. Onde eu errei, podem me ajudar?
Responder

23/09/2014

Pjava

Corrigindo o post acima. Só trás uma, quando eu digo que o código da Apresentação é igual ao código da lista que está sendo percorrida.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar