Exemple #1
0
        private static void SuccessfullySoldProducts()
        {
            var context = new ProductsShopDBContext();

            var soldProducts = context.Users.Where(u => u.ProductsSell.Any(p => p.Buyer != null))
                               .OrderBy(u => u.LastName)
                               .ThenBy(u => u.FirstName)
                               .Select(u => new
            {
                u.FirstName,
                u.LastName,
                soldProducts = u.ProductsSell.Where(p => p.Buyer != null)
                               .Select(p => new
                {
                    p.Name,
                    p.Price,
                    p.Buyer.FirstName,
                    p.Buyer.LastName
                })
            });

            var soldProductsJson = JsonConvert.SerializeObject(soldProducts, Formatting.Indented);

            File.WriteAllText("..\\..\\Jsons\\users-sold-products.json", soldProductsJson);
        }
Exemple #2
0
        private static void UsersAndProducts()
        {
            var context = new ProductsShopDBContext();

            var usersProducts = context.Users
                                .Where(u => u.ProductsSell.Any(p => p.Buyer != null))
                                .OrderByDescending(u => u.ProductsSell.Where(p => p.Buyer != null).Count())
                                .ThenBy(u => u.LastName)
                                .Select(u => new
            {
                u.FirstName,
                u.LastName,
                u.Age,
                soldProducts = u.ProductsSell.Where(p => p.Buyer != null)
                               .Select(p => new
                {
                    p.Name,
                    p.Price
                })
            })
                                .ToList();

            var usersProductsJson = JsonConvert.SerializeObject(new { usersCount = usersProducts.Count, users = usersProducts }, Formatting.Indented);

            File.WriteAllText("..\\..\\Jsons\\users-and-products.json", usersProductsJson);
        }
Exemple #3
0
        private static void ImportProducts()
        {
            var producsJson = File.ReadAllText("..\\..\\jsons\\products.json");

            var products = JsonConvert.DeserializeObject <List <Product> >(producsJson);

            var context = new ProductsShopDBContext();

            int num        = 0;
            int usersCount = context.Users.Count();

            foreach (var p in products)
            {
                p.SellerId = (num % usersCount) + 1;

                if (num % 3 != 0)
                {
                    p.BuyerId = (num * 2 % usersCount) + 1;
                }
                num++;
            }

            context.Products.AddRange(products);

            context.SaveChanges();
        }
Exemple #4
0
        private static void ImportUsers()
        {
            var usersJson = File.ReadAllText("..\\..\\jsons\\users.json");

            var users = JsonConvert.DeserializeObject <List <User> >(usersJson);

            var context = new ProductsShopDBContext();

            context.Users.AddRange(users);

            context.SaveChanges();
        }
Exemple #5
0
        private static void ProductsInRange()
        {
            var context = new ProductsShopDBContext();

            var products = context.Products.Where(p => p.Price >= 500 && p.Price <= 1000)
                           .OrderBy(p => p.Price)
                           .Select(p => new { p.Name, p.Price, FullName = p.Seller.FirstName ?? "" + " " + p.Seller.LastName })
                           .ToList();

            var productsJson = JsonConvert.SerializeObject(products, Formatting.Indented);

            File.WriteAllText("..\\..\\Jsons\\products-in-range.json", productsJson);
        }
Exemple #6
0
        private static void CategoriesByProductsCount()
        {
            var context = new ProductsShopDBContext();

            var categories = context.Categories
                             .OrderBy(c => c.Name)
                             .Select(c => new
            {
                category      = c.Name,
                productsCount = c.Products.Count,
                averagePrice  = c.Products.Average(p => p.Price),
                totalRevenue  = c.Products.Sum(p => p.Price)
            });

            var categoriesJson = JsonConvert.SerializeObject(categories, Formatting.Indented);

            File.WriteAllText("..\\..\\Jsons\\categories-by-products.json", categoriesJson);
        }
Exemple #7
0
        private static void ImportCategories()
        {
            var categoriesJson = File.ReadAllText("..\\..\\jsons\\categories.json");

            var categories = JsonConvert.DeserializeObject <List <Category> >(categoriesJson);

            var context = new ProductsShopDBContext();

            int num      = 0;
            var products = context.Products.ToList();

            foreach (var p in products)
            {
                categories[num++ % categories.Count].Products.Add(p);
            }

            context.Categories.AddRange(categories);

            context.SaveChanges();
        }