Example #1
0
        public void OnGet()
        {
            TotalEarnings              = orderData.GetAllOrders().Sum(x => x.OrderTotal);
            TotalOrders                = orderData.GetAllOrders().Count();
            ProductSold                = orderDetailData.GetOrderDetails().Sum(x => x.Quantity);
            NumberOfUsers              = userManager.Users.Count();
            ProgressBarMetod           = new ProgressBar();
            ProductsWithLowestQuantity = productData.GetFirstFiveProductsWithLowestQuantity();

            var byDate = orderData.GetAllOrders().GroupBy(x => x.DateOrdered);

            foreach (var item in byDate)
            {
                var x = 0;
                foreach (var oD in item)
                {
                    x += oD.OrderDetails.Sum(x => x.Quantity);
                }
                ByDate.Add(new StatisticsCore
                {
                    DateTime         = item.Key,
                    NumberOfProducts = x
                });
            }

            var proQuantity = orderData.GetAllOrders().GroupBy(x => x.OrderDetails);
            List <StatisticsCore> productQuantity = new List <StatisticsCore>();

            foreach (var item in proQuantity)
            {
                foreach (var item1 in item.Key)
                {
                    productQuantity.Add(new StatisticsCore
                    {
                        ProductName      = item1.Product.Name,
                        NumberOfProducts = item1.Quantity
                    });
                }
            }
            var tempPQ = productQuantity.GroupBy(x => x.ProductName);

            foreach (var item in tempPQ)
            {
                ProductQuantity.Add(new StatisticsCore
                {
                    ProductName      = item.Key,
                    NumberOfProducts = item.Sum(x => x.NumberOfProducts)
                });;
            }

            Top3 = ProductQuantity.OrderByDescending(x => x.NumberOfProducts).Take(3);

            List <StatisticsCore> categoryQuantity = new List <StatisticsCore>();

            foreach (var item in proQuantity)
            {
                foreach (var item1 in item.Key)
                {
                    categoryQuantity.Add(new StatisticsCore
                    {
                        CategoryName     = item1.Product.Category.Type,
                        NumberOfProducts = item1.Quantity
                    });
                }
            }
            var tempCQ = categoryQuantity.GroupBy(x => x.CategoryName);

            foreach (var item in tempCQ)
            {
                ByCategory.Add(new StatisticsCore
                {
                    CategoryName     = item.Key,
                    NumberOfProducts = item.Sum(x => x.NumberOfProducts)
                });;
            }


            var tempMemberships = userManager.Users.Include(x => x.Membership);

            List <StatisticsCore> tempUserMember = new List <StatisticsCore>();

            foreach (var item in tempMemberships)
            {
                if (item.Membership != null)
                {
                    tempUserMember.Add(new StatisticsCore
                    {
                        MembershipType = item.Membership.Type,
                        NumberOfUsers  = 1
                    });
                }
            }


            foreach (var item in tempUserMember.GroupBy(x => x.MembershipType))
            {
                UserMemberships.Add(new StatisticsCore
                {
                    MembershipType = item.Key,
                    NumberOfUsers  = item.Sum(x => x.NumberOfUsers)
                });
            }
        }