Пример #1
0
        static void Main()
        {
            var goods = SequenceReader.GetPurchases(10);

            var customers = SequenceReader.GetCustomers(10);

            var orders = SequenceReader.GetProductsFrom(10);

            foreach (var item in goods)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine();

            foreach (var item in customers)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine();

            foreach (var item in orders)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine();

            var result = goods.Join(customers, x => x.Code, x => x.Code, (x, y) => new
            {
                x.VendorCode,
                y.Street
            }).Join(orders, x => x.VendorCode, x => x.VendorCode, (x, y) => new
            {
                x.Street,
                y.Category,
            })
                         .GroupBy(x => new { x.Street, x.Category })
                         .Select(x => new
            {
                x.Key.Street,
                x.Key.Category,
                Count = x.Count()
            })
                         .OrderBy(x => x.Street)
                         .ThenBy(x => x.Category);

            foreach (var item in result)
            {
                Console.WriteLine($"{item.Street} {item.Category} {item.Count}");
            }
            Console.WriteLine();
        }