none
Consutla EntityFramework RRS feed

  • Pergunta

  • Galera bom dia, eu estou com uma dúvida no entity framework nos asp mvc, queria fazer a seguinte consulta:

    Obs: isso é uma View o vwCaixa

    select top 5 SUM(vrLancamento),nmTipoDocumento from vwCaixa group by nmTipoDocumento


    Fiz assim:

     public IList<dynamic> resumoCaixa()
            {
                IList<dynamic> lista = new List<dynamic>();
    
                TimeSpan time = new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
    
                
    
                using (var ctx = new dbProClinicEntities())
                {
                   var t = ctx.vwCaixa.GroupBy(g => new { documento = g.nmTipoDocumento, pago = g.dtPago, valor = g.vrLancamento })
                   .Select(x => new { pago = x.Key.pago, tipoDocumento = x.Key.documento, vrLancamento = x.Sum(f => f.vrLancamento) })
                   .Take(5).ToList();
                   
                    foreach(var f in t)
                    {
                        lista.Add(f);
                    }
                }
    
                return lista.ToList();
            }

    No Controller estou retornando uma ViewBag:

            public ActionResult Index()
            {
                AdminDAO dao = new AdminDAO();
                IList<dynamic> caixa = dao.resumoCaixa();
                ViewBag.Caixa = caixa;
                return View(ViewBag.Caixa);
            }


    Na View estou fazendo assim:

    <table class="table list">
                    <tbody>
                        @foreach(var caixa in ViewBag.Caixa)
                        { 
                        <tr>
                            <td>
                                <a href="#"><p class="title">@caixa.vrLancamento</p></a>
                                <p class="info">@caixa.tipoDocumento</p>
                            </td>
                       </tr>
                            }
                    </tbody>
    </table>

    Mais dá o seguinte erro:


    terça-feira, 23 de dezembro de 2014 12:20

Todas as Respostas

  • Tentei com chaves e carrega meus dados mais não está ficando do jeito que quero, cada passagem pelo Foreach os dados fica tudo na mesma linha:

    <a href="#"><p class="title">@caixa{ vrLancamento = vrLancamento }</p></a>
                                <p class="info">@caixa{ Pago = pago}</p>

    Não ao certo como retornar esses dados corretamente.

    quarta-feira, 24 de dezembro de 2014 00:42
  • E ai alguém para me ajudar?
    quarta-feira, 24 de dezembro de 2014 19:03
  • Acho que o problema esta no IList<dinamic>

    Já tentou criar uma classe só para recuperar o que precisa ?

    ou tenta fazer assim:

    public ActionResult Index() {

    var t = ctx.vwCaixa.GroupBy(g => new { documento = g.nmTipoDocumento, pago = g.dtPago, valor = g.vrLancamento })
                   .Select(x => new { pago = x.Key.pago, tipoDocumento = x.Key.documento, vrLancamento = x.Sum(f => f.vrLancamento) })
                   .Take(5).ToList();

    ViewBag.Caixa = t;
    return View(ViewBag.Caixa); }


    Isco Sistemas José Luiz Borges



    • Editado Jose Luiz Borges segunda-feira, 29 de dezembro de 2014 11:46 corerção
    segunda-feira, 29 de dezembro de 2014 11:43