Пример #1
0
        private static void SetCategories()
        {
            using (var context = new ProductsShopDbContext())
            {
                var productIds = context.Products
                                 .Select(p => p.ProductId)
                                 .ToArray();

                var categoryIds = context.Categories
                                  .Select(c => c.CategoryId)
                                  .ToArray();

                var random               = new Random();
                int categoryCount        = categoryIds.Length;
                var categoryProductsList = new List <CategoryProduct>();
                foreach (var id in productIds)
                {
                    for (int i = 0; i < 3; i++)
                    {
                        int index = random.Next(0, categoryCount);
                        while (categoryProductsList.Any(cp => cp.ProductId == id && cp.CategoryId == categoryIds[index]))
                        {
                            index = random.Next(0, categoryCount);
                        }

                        var categoryProducts = new CategoryProduct(id, categoryIds[index]);

                        categoryProductsList.Add(categoryProducts);
                    }
                }

                context.CategoryProducts.AddRange(categoryProductsList);
                context.SaveChanges();
            }
        }
Пример #2
0
        //01 Json
        private static void SetCategories(ProductsShopDbContext db)
        {
            var productIds  = db.Products.Select(p => p.ProductId).ToArray();
            var categoryIds = db.Categories.Select(c => c.CategoryId).ToArray();

            Random rnd = new Random();

            List <CategoryProduct> categoryProducts = new List <CategoryProduct>();

            foreach (var p in productIds)
            {
                for (int i = 0; i < 3; i++)
                {
                    int index = rnd.Next(0, categoryIds.Length);
                    while (categoryProducts.Any(c => c.ProductId == p && c.CategoryId == categoryIds[index]))
                    {
                        index = rnd.Next(0, categoryIds.Length);
                    }

                    CategoryProduct cp = new CategoryProduct
                    {
                        ProductId  = p,
                        CategoryId = categoryIds[index]
                    };
                    categoryProducts.Add(cp);
                }
            }

            db.CategoryProducts.AddRange(categoryProducts);
            db.SaveChanges();
        }
Пример #3
0
        private static string ImportCategoriesFromXml()
        {
            string path      = "Files/categories.xml";
            var    xmlString = File.ReadAllText(path);
            var    xmlDoc    = XDocument.Parse(xmlString);

            var elements = xmlDoc.Root.Elements();

            var result = new List <Category>();

            foreach (var element in elements)
            {
                string name = element.Element("name").Value;

                var category = new Category(name);
                result.Add(category);
            }

            using (var context = new ProductsShopDbContext())
            {
                context.Categories.AddRange(result);
                context.SaveChanges();
            }

            return($"{result.Count} categories were imported from file: {path}");
        }
Пример #4
0
        // <--- XML --->
        private static string ImportUserFromXml()
        {
            string path      = "Files/users.xml";
            string xmlString = File.ReadAllText(path);
            var    xmlDoc    = XDocument.Parse(xmlString);

            var elements = xmlDoc.Root.Elements();

            var result = new List <User>();

            foreach (var element in elements)
            {
                string firstName = element.Attribute("firstName")?.Value;
                string lastName  = element.Attribute("lastName").Value;

                byte?age = null;
                if (element.Attribute("age") != null)
                {
                    age = byte.Parse(element.Attribute("age").Value);
                }

                var user = new User(firstName, lastName, age);
                result.Add(user);
            }

            using (var context = new ProductsShopDbContext())
            {
                context.Users.AddRange(result);
                context.SaveChanges();
            }

            return($"{result.Count} users were imported from file: {path}");
        }
        private static void ExtractProductsData(ProductsShopDbContext context)
        {
            XmlSerializer serializer  = new XmlSerializer(typeof(ProductDTO[]), new XmlRootAttribute("products"));
            string        xmlProducts = File.ReadAllText(@"XMLs\products.xml");

            ProductDTO[] productsDto = (ProductDTO[])serializer.Deserialize(new StringReader(xmlProducts));

            Product[] products = productsDto
                                 .Where(x => IsValid(x))
                                 .Select(x => Mapper.Map <Product>(x))
                                 .ToArray();

            Random randomizer = new Random();

            foreach (Product product in products)
            {
                product.SellerId = randomizer.Next(1, 57);

                bool productHasNoBuyer = randomizer.Next(1, 5) == 1;
                if (productHasNoBuyer)
                {
                    continue;
                }

                product.BuyerId = randomizer.Next(1, 57);
            }

            context.Products.AddRange(products);
            context.SaveChanges();
        }
Пример #6
0
        //01 XML
        private static void ImportUsersFromXml(ProductsShopDbContext db)
        {
            string xmlString = File.ReadAllText("Files/users.xml");

            XDocument xml = XDocument.Parse(xmlString);

            var root = xml.Root.Elements();

            List <User> users = new List <User>();

            foreach (var e in root)
            {
                var firstName = e.Attribute("firstName")?.Value;
                var lastName  = e.Attribute("lastName").Value;

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

                var user = new User
                {
                    FirstName = firstName,
                    LastName  = lastName,
                    Age       = age
                };

                users.Add(user);
            }

            db.Users.AddRange(users);

            db.SaveChanges();
        }
        private static void ExtractUsersData(ProductsShopDbContext context)
        {
            string jsonStr = File.ReadAllText("JSONs/users.json");

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

            context.Users.AddRange(users);
            context.SaveChanges();
        }
        private static void ExtractCategoriesData(ProductsShopDbContext context)
        {
            string jsonStr = File.ReadAllText("JSONs/categories.json");

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

            context.Categories.AddRange(categories);
            context.SaveChanges();
        }
Пример #9
0
        //01 Json
        private static void ImportCategories(ProductsShopDbContext db)
        {
            string jsonToString = File.ReadAllText("Files/categories.json");

            Category[] categories = JsonConvert.DeserializeObject <Category[]>(jsonToString);

            db.Categories.AddRange(categories);

            db.SaveChanges();
        }
Пример #10
0
        //01 XML
        private static void ImportProductsFromXml(ProductsShopDbContext db)
        {
            string xmlString = File.ReadAllText("Files/products.xml");

            XDocument xmDocument = XDocument.Parse(xmlString);

            var root = xmDocument.Root.Elements();

            Random rnd = new Random();

            var userIds = db.Users.Select(u => u.UserId).ToArray();

            List <Product> products = new List <Product>();

            foreach (var p in root)
            {
                string  name  = p.Element("name").Value;
                decimal price = decimal.Parse(p.Element("price").Value);



                int index = rnd.Next(0, userIds.Length);

                int sellerId = userIds[index];

                int?bayerId = sellerId;

                while (bayerId == sellerId)
                {
                    int bayerIndex = rnd.Next(0, userIds.Length);
                    bayerId = userIds[bayerIndex];
                }
                if (bayerId - sellerId < 5 && bayerId - sellerId > 0)
                {
                    bayerId = null;
                }

                var product = new Product
                {
                    Name     = name,
                    Price    = price,
                    SellerId = sellerId,
                    BuyerId  = bayerId,
                };

                products.Add(product);
            }

            db.Products.AddRange(products);

            db.SaveChanges();
        }
Пример #11
0
        private static string ImportCategoriesFromJson()
        {
            string path       = "Files/categories.json";
            var    categories = ImportJson <Category>(path);

            using (var context = new ProductsShopDbContext())
            {
                context.Categories.AddRange(categories);
                context.SaveChanges();
            }

            return($"{categories.Length} categories were imported from file: {path}");
        }
Пример #12
0
        private static string ImportUsersFromJson()
        {
            string path  = "Files/users.json";
            var    users = ImportJson <User>(path);

            using (var context = new ProductsShopDbContext())
            {
                context.Users.AddRange(users);
                context.SaveChanges();
            }

            return($"{users.Length} users were imported from file: {path}");
        }
        private static void ExtractUsersData(ProductsShopDbContext context)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(UserDTO[]), new XmlRootAttribute("users"));
            string        xmlUsers   = File.ReadAllText(@"XMLs\users.xml");

            UserDTO[] usersDto = (UserDTO[])serializer.Deserialize(new StringReader(xmlUsers));

            User[] users = usersDto
                           .Where(x => IsValid(x)).Select(x => Mapper.Map <User>(x))
                           .ToArray();

            context.Users.AddRange(users);
            context.SaveChanges();
        }
Пример #14
0
        //01 Json
        private static void ImportUsers(ProductsShopDbContext dbContext)
        {
            string path = "Files/users.json";

            string jsonString = File.ReadAllText(path);


            User[] users = JsonConvert.DeserializeObject <User[]>(jsonString);


            dbContext.Users.AddRange(users);

            dbContext.SaveChanges();
        }
        private static void ExtractCategoriesData(ProductsShopDbContext context)
        {
            XmlSerializer serializer    = new XmlSerializer(typeof(CategoryDTO[]), new XmlRootAttribute("categories"));
            string        xmlCategories = File.ReadAllText(@"XMLs\categories.xml");

            CategoryDTO[] categoriesDto = (CategoryDTO[])serializer.Deserialize(new StringReader(xmlCategories));

            Category[] categories = categoriesDto
                                    .Where(x => IsValid(x))
                                    .Select(x => Mapper.Map <Category>(x))
                                    .ToArray();

            context.Categories.AddRange(categories);
            context.SaveChanges();
        }
Пример #16
0
        private static string ImportProductsFromXml()
        {
            string path      = "Files/products.xml";
            var    xmlString = File.ReadAllText(path);
            var    xmlDoc    = XDocument.Parse(xmlString);

            var elements = xmlDoc.Root.Elements();

            var result = new List <CategoryProduct>();

            using (var context = new ProductsShopDbContext())
            {
                var userIds = context.Users
                              .Select(u => u.UserId)
                              .ToArray();

                var categoryIds = context.Categories
                                  .Select(u => u.CategoryId)
                                  .ToArray();

                var random = new Random();

                foreach (var element in elements)
                {
                    string  name  = element.Element("name").Value;
                    decimal price = decimal.Parse(element.Element("price").Value);

                    int sellerIndex = random.Next(0, userIds.Length);
                    int sellerId    = userIds[sellerIndex];

                    var product = new Product(name, price, sellerId);

                    int categoryIndex = random.Next(0, categoryIds.Length);
                    int categoryId    = categoryIds[categoryIndex];

                    var catProduct = new CategoryProduct(product, categoryId);
                    result.Add(catProduct);
                }

                context.AddRange(result);
                context.SaveChanges();
            }

            return($"{result.Count} products were imported from file: {path}");
        }
        private static void ExtractCategoryProducts(ProductsShopDbContext context)
        {
            List <CategoryProduct> categoryProducts = new List <CategoryProduct>();

            Random randomizer = new Random();

            for (int i = 1; i <= 200; i++)
            {
                CategoryProduct categoryProduct = new CategoryProduct
                {
                    CategoryId = randomizer.Next(1, 12),
                    ProductId  = i
                };

                categoryProducts.Add(categoryProduct);
            }

            context.CategoryProducts.AddRange(categoryProducts);
            context.SaveChanges();
        }
Пример #18
0
        private static string ImportProductsFromJson()
        {
            string path   = "Files/products.json";
            var    random = new Random();

            var products = ImportJson <Product>(path);

            using (var context = new ProductsShopDbContext())
            {
                int[] userIds = context.Users
                                .Select(u => u.UserId)
                                .ToArray();

                foreach (var p in products)
                {
                    int index    = random.Next(0, userIds.Length);
                    int sellerId = userIds[index];
                    int?buyerId  = sellerId;

                    while (buyerId == sellerId)
                    {
                        int buyerIndex = random.Next(0, userIds.Length);

                        buyerId = userIds[buyerIndex];
                    }

                    if (buyerId - sellerId < 5 && buyerId - sellerId > 0)
                    {
                        buyerId = null;
                    }

                    p.SellerId = sellerId;
                    p.BuyerId  = buyerId;
                }

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

            return($"{products.Length} products were imported from file: {path}");
        }
Пример #19
0
        //01 Json
        private static void ImportProducts(ProductsShopDbContext db)
        {
            string jsonToString = File.ReadAllText("Files/products.json");

            Product[] products = JsonConvert.DeserializeObject <Product[]>(jsonToString);

            Random rnd = new Random();

            int[] userIds = db.Users.Select(x => x.UserId).ToArray();


            foreach (var p in products)
            {
                int index = rnd.Next(0, userIds.Length);

                int sellerId = userIds[index];

                int?bayerId = sellerId;

                while (bayerId == sellerId)
                {
                    int bayerIndex = rnd.Next(0, userIds.Length);
                    bayerId = userIds[bayerIndex];
                }
                if (bayerId - sellerId < 5 && bayerId - sellerId > 0)
                {
                    bayerId = null;
                }

                p.SellerId = sellerId;
                p.BuyerId  = bayerId;
            }



            db.Products.AddRange(products);

            db.SaveChanges();
        }
        private static void ExtractProductsData(ProductsShopDbContext context)
        {
            string jsonStr = File.ReadAllText("JSONs/products.json");

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

            Random randomizer = new Random();

            foreach (Product product in products)
            {
                product.SellerId = randomizer.Next(1, 56);

                bool productHasBuyer = randomizer.Next(1, 5) == 5;
                if (productHasBuyer)
                {
                    product.BuyerId = randomizer.Next(1, 56);
                }
            }

            context.Products.AddRange(products);
            context.SaveChanges();
        }
Пример #21
0
        //01 XML
        private static void ImportCategoriesFromXml(ProductsShopDbContext db)
        {
            string xmlString = File.ReadAllText("Files/categories.xml");

            XDocument xmlDocument = XDocument.Parse(xmlString);

            var root = xmlDocument.Root.Elements();

            List <Category> categories = new List <Category>();

            foreach (var cElement in root)
            {
                string name = cElement.Element("name").Value;

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

            db.Categories.AddRange(categories);

            db.SaveChanges();
        }