public IActionResult BancasMaisVendem(int page = 1) { List <VendasBancaRelatorio> VendaRelatorio = new List <VendasBancaRelatorio>(); List <VendasBancaRelatorio> ListaFinal = new List <VendasBancaRelatorio>(); List <Venda> listaDoForeach = new List <Venda>(); var bancasNome = _context.Vendas.Include(b => b.Bancas).Select(b => b.Bancas.NomeBanca).Distinct().ToList(); var vendas = _context.Vendas.Include(v => v.Clientes).Include(v => v.Status).Include(v => v.Bancas).ToList(); foreach (var item in vendas) { item.ValorVenda = item.ValorVenda.Substring(2).Replace('.', ','); listaDoForeach.Add(item); } int posicao = 1; foreach (var data in bancasNome) { var soma = vendas.Where(v => v.Bancas.NomeBanca.ToLower() == data.ToLower()).Sum(v => Convert.ToDouble(v.ValorVenda)); VendasBancaRelatorio vbr = new VendasBancaRelatorio(); vbr.QuantidadeDeVendas = vendas.Where(v => v.Bancas.NomeBanca.ToLower() == data.ToLower()).Count(); vbr.NomeBanca = data; vbr.ValorTotalVenda = "R$" + soma; vbr.Bairro = vendas.Where(v => v.Bancas.NomeBanca.ToLower() == data.ToLower()).Select(v => v.Bancas.Bairro).FirstOrDefault(); VendaRelatorio.Add(vbr); } VendaRelatorio = VendaRelatorio.OrderByDescending(b => b.QuantidadeDeVendas).ToList(); foreach (var obj in VendaRelatorio) { obj.Posicao = posicao + "º"; ListaFinal.Add(obj); posicao++; } ListaParaCsvBanca = ListaFinal; ViewBag.bancas = ListaFinal; ViewBag.ceps = _context.Vendas.Include(b => b.Bancas).Select(b => b.Bancas.CEPbanca).Distinct().ToList(); ViewBag.countProd = ListaFinal.Select(p => p.NomeBanca).Distinct().Count(); var query = ListaFinal.AsQueryable().OrderByDescending(b => b.QuantidadeDeVendas); var model = PagingList.Create(query, 500, page); model.Action = "BancasMaisVendem"; ViewBag.ordenado = "Ordenado por: Quantidade vendida"; return(View(model)); }
public List <VendasBancaRelatorio> resetarLista() { List <VendasBancaRelatorio> VendaRelatorio = new List <VendasBancaRelatorio>(); List <VendasBancaRelatorio> ListaFinal = new List <VendasBancaRelatorio>(); List <Venda> listaDoForeach = new List <Venda>(); var bancasNome = _context.Vendas.Include(b => b.Bancas).Select(b => b.Bancas.NomeBanca).Distinct().ToList(); var vendas = _context.Vendas.Include(v => v.Clientes).Include(v => v.Status).Include(v => v.Bancas).ToList(); foreach (var item in vendas) { item.ValorVenda = item.ValorVenda.Substring(2).Replace('.', ','); listaDoForeach.Add(item); } int posicao = 1; foreach (var data in bancasNome) { var soma = vendas.Where(v => v.Bancas.NomeBanca.ToLower() == data.ToLower()).Sum(v => Convert.ToDouble(v.ValorVenda)); VendasBancaRelatorio vbr = new VendasBancaRelatorio(); vbr.QuantidadeDeVendas = vendas.Where(v => v.Bancas.NomeBanca.ToLower() == data.ToLower()).Count(); vbr.NomeBanca = data; vbr.ValorTotalVenda = "R$" + soma; vbr.Bairro = vendas.Where(v => v.Bancas.NomeBanca.ToLower() == data.ToLower()).Select(v => v.Bancas.Bairro).FirstOrDefault(); VendaRelatorio.Add(vbr); } VendaRelatorio = VendaRelatorio.OrderByDescending(b => b.QuantidadeDeVendas).ToList(); foreach (var obj in VendaRelatorio) { obj.Posicao = posicao + "º"; ListaFinal.Add(obj); posicao++; } ListaParaCsvBanca = ListaFinal; ViewBag.bancas = ListaFinal; ViewBag.ceps = _context.Vendas.Include(b => b.Bancas).Select(b => b.Bancas.CEPbanca).Distinct().ToList(); ViewBag.countProd = ListaFinal.Select(p => p.NomeBanca).Distinct().Count(); return(ListaFinal.OrderByDescending(b => b.QuantidadeDeVendas).ToList()); }