public void Import(PetStoreDBEntities db) { var uniqueSpecies = new HashSet <string>(); while (uniqueSpecies.Count < this.NumberOfSpecies) { uniqueSpecies.Add(RandomGenerator.RandomString(5, 50)); } var countries = db.Countries.Select(x => x.Id).ToList(); var species = uniqueSpecies.ToList(); var currentSpecieIndex = 0; foreach (var countryId in countries) { var speciesForCountry = RandomGenerator.RandomNumber(2, 8); if (currentSpecieIndex + speciesForCountry > species.Count) { speciesForCountry = species.Count - currentSpecieIndex; } for (int i = 0; i < speciesForCountry; i++) { db.Species.Add(new Species() { Name = species[currentSpecieIndex], CountryId = countryId }); currentSpecieIndex++; } } if (currentSpecieIndex < species.Count) { var leftSpecies = species.Count - currentSpecieIndex; for (int i = 0; i < leftSpecies; i++) { var countryIdIndex = RandomGenerator.RandomNumber(0, countries.Count - 1); db.Species.Add(new Species() { Name = species[currentSpecieIndex], CountryId = countries[countryIdIndex] }); currentSpecieIndex++; } } db.SaveChanges(); }
public void Import(PetStoreDBEntities db) { var species = db.Species.ToList(); var categories = db.Categories.Select(x => x.Id).ToList(); var productsInCategory = this.NumberOfProducts / categories.Count; var addedProducts = 0; foreach (var categoryId in categories) { if (addedProducts + productsInCategory > this.NumberOfProducts) { productsInCategory = this.NumberOfProducts - addedProducts; } for (int i = 0; i < productsInCategory; i++) { this.AddProduct(db, categoryId, species); if (addedProducts % 10 == 0) { Console.Write('.'); } if (addedProducts % 100 == 0) { Console.WriteLine($"Added {addedProducts} products."); db.SaveChanges(); db = new PetStoreDBEntities(); species = db.Species.ToList(); } addedProducts++; } } if (addedProducts < this.NumberOfProducts) { var leftProducts = this.NumberOfProducts - addedProducts; for (int i = 0; i < leftProducts; i++) { var categoryId = RandomGenerator.RandomNumber(0, categories.Count - 1); this.AddProduct(db, categoryId, species); addedProducts++; } } db.SaveChanges(); }
private void AddProduct(PetStoreDBEntities db, int categoryId, IList <Species> species) { var product = new Product { CategotyId = categoryId, Name = RandomGenerator.RandomString(5, 25), Price = RandomGenerator.RandomNumber(10, 1000) }; var numberOfSpeciesPerProduct = RandomGenerator.RandomNumber(2, 10); for (int i = 0; i < numberOfSpeciesPerProduct; i++) { product.Species.Add(species[RandomGenerator.RandomNumber(0, species.Count - 1)]); } db.Products.Add(product); }
public void Import(PetStoreDBEntities db) { var categories = new HashSet <string>(); while (categories.Count < this.NumberOfCategories) { categories.Add(RandomGenerator.RandomString(5, 20)); } foreach (var category in categories) { db.Categories.Add(new Category() { Name = category }); } db.SaveChanges(); }
public void Import(PetStoreDBEntities db) { var uniqueCountries = new HashSet <string>(); while (uniqueCountries.Count < this.NumberOfCountries) { uniqueCountries.Add(RandomGenerator.RandomString(5, 50)); } foreach (var country in uniqueCountries) { db.Countries.Add(new Country() { Name = country }); } db.SaveChanges(); }
public void Import(PetStoreDBEntities db) { var species = db.Species.Select(x => x.Id).ToList(); var colors = db.Colors.Select(x => x.Id).Count(); var addedPets = 0; foreach (var speciesId in species) { var petsPerSpecies = NumberOfPets / species.Count(); for (int i = 0; i < petsPerSpecies; i++) { var price = RandomGenerator.RandomNumber(5, 2500); var colorId = RandomGenerator.RandomNumber(1, colors); var beforeDate = DateTime.Now.AddDays(-60); var afterDate = new DateTime(2010, 12, 31); var dateOfBirth = RandomGenerator.RandomDateTime(afterDate, beforeDate); db.Pets.Add(new Pet() { BirthDate = dateOfBirth, ColorId = colorId, Price = price, SpeciesId = speciesId }); if (addedPets % 10 == 0) { Console.Write('.'); } if (addedPets % 100 == 0) { Console.Write($"Added {addedPets} pets."); Console.WriteLine(); db.SaveChanges(); db = new PetStoreDBEntities(); } addedPets++; } } if (addedPets < NumberOfPets) { var leftPets = NumberOfPets - addedPets; for (int i = 0; i < leftPets; i++) { var price = RandomGenerator.RandomNumber(5, 2500); var colorId = RandomGenerator.RandomNumber(1, colors); var beforeDate = DateTime.Now.AddDays(-60); var afterDate = new DateTime(2010, 12, 31); var dateOfBirth = RandomGenerator.RandomDateTime(afterDate, beforeDate); var speciesIdIndex = RandomGenerator.RandomNumber(0, species.Count - 1); db.Pets.Add(new Pet() { BirthDate = dateOfBirth, ColorId = colorId, Price = price, SpeciesId = species[speciesIdIndex] }); addedPets++; } } db.SaveChanges(); }