Exemple #1
0
        public override void GetResult(IMongoQueryable <Order> collection)
        {
            var timer = Stopwatch.StartNew();
            var query = collection.GroupBy(x => new
            {
                x.Client.FirstName,
                x.Client.LastName
            }
                                           )
                        .Select(x => new
            {
                Client     = x.Key.FirstName + " " + x.Key.LastName,
                OrderCount = x.Count()
            }
                                )
                        .OrderByDescending(x => x.OrderCount)
                        .ToList();

            timer.Stop();

            foreach (var item in query)
            {
                Console.WriteLine($"Client: {item.Client} OrderCount: {item.OrderCount}");
            }

            Console.WriteLine("Execute time: " + timer.ElapsedMilliseconds);

            Thread.Sleep(5000);
        }
        public override void GetResult(IMongoQueryable <Order> collection)
        {
            var timer = Stopwatch.StartNew();
            var query = collection.GroupBy(x => new
            {
                x.Client.FirstName,
                x.Client.LastName,
                x.Date
            }
                                           )
                        .Select(x => new
            {
                Client        = x.Key.FirstName + " " + x.Key.LastName,
                Employee      = x.First().Employee.FirstName + " " + x.First().Employee.LastName,
                Date          = x.Key.Date,
                FuneralPerson = x.First().Funeral.FuneralPerson,
                Service       = x.First().Service.Name,
                ToPay         = x.Sum(s => s.Service.Value) + x.Sum(f => f.Funeral.Value)
            }
                                )
                        .OrderByDescending(x => x.ToPay)
                        .ToList();

            foreach (var item in query)
            {
                Console.WriteLine($"Client: {item.Client} Employee: {item.Employee} Date: {item.Date} FuneralPerson: {item.FuneralPerson} Service: {item.Service} ToPay: {item.ToPay}");
            }

            timer.Stop();

            Console.WriteLine($"Execute time: {timer.ElapsedMilliseconds}");

            Thread.Sleep(5000);
        }
        public override void GetResult(IMongoQueryable <Order> collection)
        {
            var timer = Stopwatch.StartNew();
            var query = collection.GroupBy(x => x.Service.Name)
                        .Select(x => new
            {
                Service    = x.Key,
                OrderCount = x.Count()
            }
                                )
                        .OrderByDescending(x => x.OrderCount)
                        .ToList();

            timer.Stop();

            foreach (var item in query)
            {
                Console.WriteLine($"Service: {item.Service} OrderCount: {item.OrderCount}");
            }

            Console.WriteLine($"Execute time: {timer.ElapsedMilliseconds}");

            Thread.Sleep(5000);
        }