Usuário com melhor resposta
Fazer desconto na compra de 4 Produto do mesmo tipo

Pergunta
-
Boa tarde caros Amigos
Eu tenho uma gridviewer onde tenho vários movimentos diferentes. Necessito é quando o usuário seleccionar 4 ou + movimentos do mesmo tipo, o programa faz um desconto de x %.
Nota que Sempre que eu selecciono um movimento o programa calcula o valor a pagar no total. Se o usuário seleccionar 4 ou + movimento do mesmo tipo o programa tem que recalcular o total a pagar devido ao desconto que será feito.
Respostas
-
Como você está adicionando as linhas no grid? Diretamente ou através de um DataSet/collection por exemplo?
Se for via DataSet você pode fazer um count utilizando Linq:
ex:
var query = from row in datatable.AsEnumerable() group row by row.Field<string>("Tipo") into vendas orderby vendas.Key select new { Name = vendas.Key, Quantidade = vendas.Count() }; if (query.Where(q => q.Quantidade >= 4).Count() > 0) { // Aplicar o desconto }
Lembrando que é necessário adicionar o using System.Linq.
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
- Sugerido como Resposta Lucio Rogerio SPBanned domingo, 4 de fevereiro de 2018 15:03
- Marcado como Resposta Filipe B CastroModerator quarta-feira, 28 de fevereiro de 2018 18:42
Todas as Respostas
-
Como você está adicionando as linhas no grid? Diretamente ou através de um DataSet/collection por exemplo?
Se for via DataSet você pode fazer um count utilizando Linq:
ex:
var query = from row in datatable.AsEnumerable() group row by row.Field<string>("Tipo") into vendas orderby vendas.Key select new { Name = vendas.Key, Quantidade = vendas.Count() }; if (query.Where(q => q.Quantidade >= 4).Count() > 0) { // Aplicar o desconto }
Lembrando que é necessário adicionar o using System.Linq.
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
- Sugerido como Resposta Lucio Rogerio SPBanned domingo, 4 de fevereiro de 2018 15:03
- Marcado como Resposta Filipe B CastroModerator quarta-feira, 28 de fevereiro de 2018 18:42
-
Se o código resolveu seu problema, lembre-se de marcar a resposta como aceita.
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.