コード例 #1
0
        private static void SeedCategoryProducts()
        {
            using (var db = new ProductsShopDb())
            {
                var products   = db.Products.ToArray();
                var categories = db.Categories.ToArray();

                var catecoryProducts = new List <CategoryProduct>();

                var rnd = new Random();

                foreach (var c in categories)
                {
                    for (int i = 0; i < 3; i++)
                    {
                        var cat = new CategoryProduct();
                        cat.Product  = products[rnd.Next(0, products.Length - 1)];
                        cat.Category = c;
                        catecoryProducts.Add(cat);
                    }
                }

                db.CategoryProducts.AddRange(catecoryProducts);
                db.SaveChanges();
            }
        }
コード例 #2
0
        private static void SeedUsersXml()
        {
            var read = File.ReadAllText("JsonAndXmlData/users.xml");

            var xml = XDocument.Parse(read);

            var users = new List <User>();

            foreach (var x in xml.Root.Elements())
            {
                var firstname = x.Attribute("firstName")?.Value;
                var lastname  = x.Attribute("lastName").Value;

                int?age = null;

                if (x.Attribute("age") != null)
                {
                    age = int.Parse(x.Attribute("age").Value);
                }

                var user = new User()
                {
                    FirstName = firstname,
                    LastName  = lastname,
                    Age       = age
                };

                users.Add(user);
            }

            var db = new ProductsShopDb();

            db.Users.AddRange(users);
            db.SaveChanges();
        }
コード例 #3
0
        private static void SeedProductsXml()
        {
            var read     = File.ReadAllText("JsonAndXmlData/products.xml");
            var products = XDocument.Parse(read);

            var result = new List <Product>();

            var rnd = new Random();

            using (var db = new ProductsShopDb())
            {
                var usersId = db.Users.Select(x => x.Id).ToArray();

                var count = 1;
                foreach (var x in products.Root.Elements())
                {
                    var p = new Product();
                    p.Name     = x.Element("name").Value;
                    p.Price    = decimal.Parse(x.Element("price").Value);
                    p.SellerId = rnd.Next(1, usersId.Length);

                    if (count % 2 == 0)
                    {
                        p.BuyerId = rnd.Next(1, usersId.Length);
                    }

                    result.Add(p);

                    count++;
                }

                db.Products.AddRange(result);
                db.SaveChanges();
            }
        }
コード例 #4
0
        private static void SeedCategoryProductsXml()
        {
            using (var db = new ProductsShopDb())
            {
                var products   = db.Products.Select(x => x.Id).ToArray();
                var categories = db.Categories.Select(x => x.Id).ToArray();

                var result = new List <CategoryProduct>();

                var rnd = new Random();

                foreach (var c in categories)
                {
                    for (int i = 0; i < 3; i++)
                    {
                        var cat = new CategoryProduct()
                        {
                            CategoryId = c,
                            ProductId  = rnd.Next(1, products.Length)
                        };

                        result.Add(cat);
                    }
                }

                db.CategoryProducts.AddRange(result);
                db.SaveChanges();
            }
        }
コード例 #5
0
        private static void SeedUsers()
        {
            var users = JsonConvert.DeserializeObject <User[]>(File.ReadAllText(@"JsonAndXmlData\users.json"));

            using (var db = new ProductsShopDb())
            {
                db.Users.AddRange(users);
                db.SaveChanges();
            }
        }
コード例 #6
0
        private static void SeedCategories()
        {
            var categories = JsonConvert.DeserializeObject <Category[]>(File.ReadAllText(@"JsonAndXmlData\categories.json"));

            using (var db = new ProductsShopDb())
            {
                db.Categories.AddRange(categories);
                db.SaveChanges();
            }
        }
コード例 #7
0
        private static void SeedCategoriesXml()
        {
            var read = File.ReadAllText("JsonAndXmlData/categories.xml");

            var xml = XDocument.Parse(read);

            var categories = new List <Category>();

            foreach (var x in xml.Root.Elements())
            {
                var name = x.Element("name").Value;

                categories.Add(new Category()
                {
                    Name = name
                });
            }

            var db = new ProductsShopDb();

            db.Categories.AddRange(categories);
            db.SaveChanges();
        }
コード例 #8
0
        private static void SeedProducts()
        {
            var products = JsonConvert.DeserializeObject <Product[]>(File.ReadAllText(@"JsonAndXmlData\products.json"));

            var rnd = new Random();

            using (var db = new ProductsShopDb())
            {
                var usersId = db.Users.Select(x => x.Id).ToArray();

                for (int i = 0; i < products.Length; i++)
                {
                    products[i].SellerId = rnd.Next(1, usersId.Length - 1);

                    if (i % 2 == 0)
                    {
                        products[i].BuyerId = rnd.Next(1, usersId.Length - 1);
                    }
                }

                db.Products.AddRange(products);
                db.SaveChanges();
            }
        }