public static void Test() { var items = Coletor.GetPedidos(@"C:\Users\krekm\Desktop\PEDIDOS.CSV", DateTime.Now) .Where(x => x.CodVendedor == 307) .SelectMany(it => it.Items); var result = items .GroupBy(l => l.Produto) .Select(cl => new Item() { Produto = cl.First().Produto, QntCX = cl.Sum(c => c.QntCX), ValorTotal = cl.Sum(c => c.ValorTotal), }) .OrderByDescending(x => x.ValorTotal) .ToList(); var best2 = result.FindAll(Tools.FindItem); foreach (var v in result) { var res = $"{v.QntCX} | {v.Produto} | {v.ValorTotal}"; Console.WriteLine(res); } Console.WriteLine($"Best 2: {best2.Count()}"); foreach (var v in best2) { var res = $"{v.QntCX} | {v.Produto} | {v.ValorTotal}"; Console.WriteLine(res); } }
public void AtualizaPedidos(DateTime date) { var vendstands = new int[] { 301, 302, 303, 304, 305, 306, 401, 402, 403, 404, 405, 406, 601, 602, 603, 604 }; var pc = Environment.MachineName; var path = @"F:\SOF\VDWIN\EXP\PEDIDOS.CSV"; if (pc == "ATAIDE-PC") { path = @"C:\Users\krekm\Desktop\PEDIDOS.CSV"; } if (pc == "KREKINHA-PC") { path = @"C:\Users\krekm\Desktop\PEDIDOS.CSV"; } var peds = Coletor.GetPedidos(path, date); var vendas = new ObservableCollection <Venda>(); if (Vendas == null) { Vendas = new ObservableCollection <Venda>(); } if (Vendas.Count > 0) { Vendas.Clear(); } foreach (var ped in peds) { var vnd = vendas.FirstOrDefault(vd => vd.CodVendedor == ped.CodVendedor); if (vnd == null && ped.CodVendedor != 900) { vendas.Add(new Venda { CodVendedor = ped.CodVendedor, DataColeta = ped.DataPedido, Pedidos = new List <Pedido> { ped } }); } else { if (ped.CodVendedor == 900) { continue; } vnd.Pedidos.Add(ped); } } var vends = vendas.Select(x => x.CodVendedor).Distinct().ToArray(); var vendfauls = vendstands.Except(vends).ToArray(); if (vendfauls.Length > 0) { foreach (var item in vendfauls) { vendas.Add(new Venda() { CodVendedor = item }); } } var vendas2 = CheckDuple(vendas).OrderBy(x => x.CodVendedor); foreach (var vd in vendas2) { Vendas.Add(vd); } }