none
Dúvida em como setar o tipo para retornar uma lista RRS feed

  • Pergunta

  • Preciso retornar algumas listas para minha view. Estou usando ViewData. Mas tem um problema, na hora de declarar a variável, eu não sei que tipo colocar. Fiz da forma abaixo e está dando o seguinte erro: `foreach statement cannot operate on variables of type 'object' because 'object' does not contain a public definition for 'GetEnumerator'`

    Como eu declaro a var _listaUnidade? Veja abaixo meu código. Preciso retornar 4 listas semelhantes: UN, Familia, Produto e PDV.

        public ActionResult Acao()
                {
                    RupturaEntities db = new RupturaEntities();
        
                    var _listaUnidade = new object();
        
                    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);
        
                    foreach (var _idmotivo in monta_arvore)
                    {
                        _listaUnidade = db.Apresentacao
                                        .Where(un => un.Codigo_Unidade_Negocio == _idmotivo.Codigo_Unidade_Negocio)
                                        .Select(u => new MontaArvoreAcao
                                        {
                                            Unidade_Negocio = u.Unidade_Negocio
                                        }).ToList().OrderBy(o => o.Unidade_Negocio);
                    }
        
                    ViewData["ListaUn"] = _listaUnidade;
        
                    foreach(var _idUn in _listaUnidade)==> Aqui dá o erro
                    {
        
                    }
        
                    return View(monta_arvore.ToList());
                }
    quinta-feira, 18 de setembro de 2014 18:51

Respostas

Todas as Respostas

  • Faça apenas 

    var _listaUnidade = db.Apresentacao ...

    E assim po diante para todas as listas. 

    Com isso ela ficará no formato retornado pela sua consulta.

    quinta-feira, 18 de setembro de 2014 18:55
  • Fiz assim e resolveu.

    var _listaUnidade = Enumerable.Empty<object>();

    • Marcado como Resposta pnet sexta-feira, 19 de setembro de 2014 10:28
    sexta-feira, 19 de setembro de 2014 10:26