none
Agrupar um list RRS feed

  • Pergunta

  • Pessoal, um list está retornando os dados abaixo como exemplo. Preciso agrupar pelo (IdPedido ou outro) Somando o Valor mas mostrando as mesma colunas. Tem como?

    Junior Santana



    • Editado Jr_inc terça-feira, 9 de janeiro de 2018 14:00
    terça-feira, 9 de janeiro de 2018 13:56

Respostas

  • Entao.. faça assim:

    list<Relatorio> lista;
    using (Entities context = new Entities())
    {
    	lista = context.Database.SqlQuery<Relatorio>("Select sum(valor) as valor, idPedido, Data, NomeStatus, Nome, Ativo from dbo.fnRelatorio(@id, @data1, @data2, @IdVendedor) group by idPedido, Data, NomeStatus, Nome, Ativo ",
    		new SqlParameter("id", id),
    		new SqlParameter("data1", data1),
    		new SqlParameter("data2", data2),
    		new SqlParameter("IdVendedor", IdVendedor)
    		).ToList();
    }
    return lista;
    

    Quais sao os campos da classe Relatorio? 

    Att




    William John Adam Trindade
    Analyste-programmeur


    Sogi Informatique ltée
    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    • Marcado como Resposta Jr_inc terça-feira, 9 de janeiro de 2018 16:07
    terça-feira, 9 de janeiro de 2018 15:46
    Moderador

Todas as Respostas

  • Forneça mais informaçoes. Como o que voce nos deu a unica reposta possivel é:

    Select sum(valor) as valor, idPedido, Data, NomeStatus, Nome, Ativo from <Pedido>
    where <criterio>
    group by idPedido, Data, NomeStatus, Nome, Ativo 

    att


    William John Adam Trindade
    Analyste-programmeur


    Sogi Informatique ltée
    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    terça-feira, 9 de janeiro de 2018 14:20
    Moderador
  • William obrigado pela ajuda.

    Este resultado vem do banco de dados e eu jogo ele dentro um list

    Vamos lá... o primeiro pedido do IdPedido 16751 (dois itens: valores 100.00 e 180.00)

    Preciso somar no list o valor e agrupar mostrando assim

    16751    2018-01-08    Pendente    TesteDesconto   2   180.00 (Soma dos dois itens)


    Junior Santana

    terça-feira, 9 de janeiro de 2018 14:25
  • Qual tecnologia voce usa para ler os registros do banco? EF?

    Nos de mais detalhes... ainda nao é possivel dar uma resposta que possa te ajudar sem conhecer sua estrutura de código.

    att


    William John Adam Trindade
    Analyste-programmeur


    Sogi Informatique ltée
    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    terça-feira, 9 de janeiro de 2018 14:32
    Moderador
  •  List<Relatorio> lista;
                using (Entities context = new Entities())
                {
                    lista = context.Database.SqlQuery<Relatorio>("select * from dbo.fnRelatorio(@id, @data1, @data2, @IdVendedor)",
                        new SqlParameter("id", id),
                            new SqlParameter("data1", data1),
                            new SqlParameter("data2", data2),
                            new SqlParameter("IdVendedor", IdVendedor)

                        ).ToList();             

                }          
                return lista;

    Esse resultado me retorna ai


    Junior Santana

    terça-feira, 9 de janeiro de 2018 14:36
  • Entao.. faça assim:

    list<Relatorio> lista;
    using (Entities context = new Entities())
    {
    	lista = context.Database.SqlQuery<Relatorio>("Select sum(valor) as valor, idPedido, Data, NomeStatus, Nome, Ativo from dbo.fnRelatorio(@id, @data1, @data2, @IdVendedor) group by idPedido, Data, NomeStatus, Nome, Ativo ",
    		new SqlParameter("id", id),
    		new SqlParameter("data1", data1),
    		new SqlParameter("data2", data2),
    		new SqlParameter("IdVendedor", IdVendedor)
    		).ToList();
    }
    return lista;
    

    Quais sao os campos da classe Relatorio? 

    Att




    William John Adam Trindade
    Analyste-programmeur


    Sogi Informatique ltée
    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    • Marcado como Resposta Jr_inc terça-feira, 9 de janeiro de 2018 16:07
    terça-feira, 9 de janeiro de 2018 15:46
    Moderador
  • A Classe relatório tem esses mesmo campos.

    Deu Certinho a sua alteração no código.

    Obrigado William


    Junior Santana

    terça-feira, 9 de janeiro de 2018 16:07