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);
            }
        }
Beispiel #2
0
        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);
            }
        }