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(); } }
//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(); }
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}"); }
// <--- 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(); }
//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(); }
//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(); }
//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(); }
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}"); }
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(); }
//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(); }
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(); }
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}"); }
//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(); }
//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(); }