Пример #1
0
        private static void AddToysToManufacturers(ToyStoreEntities db, RandomGenerator generator, IList<int> manufacturerIds, IList<Toy> toys)
        {
            var numberOfManufacturers = manufacturerIds.Count;
            Console.Write("Adding Toys to Manufacturers");

            var i = 0;
            foreach (var toy in toys)
            {
                toy.ManufacturerId = manufacturerIds[generator.GetRandomInt(0, numberOfManufacturers - 1)];
                db.SaveChanges();
                Printer.Print(20, numberOfManufacturers, i);
                i++;
            }
            Console.WriteLine();
        }
Пример #2
0
        static void Main()
        {
            var random = RandomData.Instance;
            var db = new ToyStoreEntities();
            db.Configuration.AutoDetectChangesEnabled = false;

            var listOfGenerators = new List<IDataGenerator>
            {
                new CategoryDataGenerator(db, random, 100),
                new ManufacturerDataGenerator(db, random, 50),
                new AgeRangeDataGenerator(db, random, 100),
                new ToyDataGenerator(db, random, 20000)
            };

            foreach (var generator in listOfGenerators)
            {
                generator.Generate();
                db.SaveChanges();
            }
        }
Пример #3
0
        private static void Main()
        {
            var db = new ToyStoreEntities();
            var random = RandomGenerator.Instance;
            db.Configuration.AutoDetectChangesEnabled = false;
            //TODO factory
            var dataGenerators = new List<DataGenerator>
            {
                new RandomManufacturersGenerator(random, db , 50),
                new RandomAgeRangesGenerator(random, db, 100), 
                new RandomCategoriesGenerator(random, db, 100),
                new RandomToysGenerator(random, db, 20000)
            };

            foreach (var dataGenerator in dataGenerators)
            {
                dataGenerator.Generate();
            }

            db.SaveChanges();
            db.Configuration.AutoDetectChangesEnabled = true;
        }
        private static void GenerateSampleData()
        {
            var random = RandomDataGenerator.Instance;
            var databaseContext = new ToyStoreEntities();
            var consoleLogger = new ConsoleLogger();
            databaseContext.Configuration.AutoDetectChangesEnabled = false;

            var toyFactory = new ToyGeneratorsFactory(random, consoleLogger, databaseContext);
            var generators = new List<DataGenerator>
                                 {
                                     toyFactory.GetAgeRangeGenerator(150),
                                     toyFactory.GetCategoriesGenerator(150),
                                     toyFactory.GetManufacturesGenerator(100),
                                     toyFactory.GetToyGenerator(20000)
                                 };

            foreach (var generator in generators)
            {
                generator.Generate();
                databaseContext.SaveChanges();
            }

            databaseContext.Configuration.AutoDetectChangesEnabled = true;
        }
        static void Main(string[] args)
        {
            var db = new ToyStoreEntities();
            db.Configuration.AutoDetectChangesEnabled = false;
            var rnd = RandomGenerator.GetInstance;
            var uniqueStrings = rnd.GenerateUniqueStringsWithRandomLength(5, 25, 50);

            int index = 0;
            foreach (var uniqueString in uniqueStrings)
            {
                db.Manufacturers.Add(
                    new Manufacturer()
                        {
                            Name = uniqueString,
                            Country = rnd.GenerateRandomStringWithRandomLength(5, 25),
                        });
                index++;

                if (index%100==0)
                {
                    db.SaveChanges();
                }
            }

            db.SaveChanges();

            index = 0;
            for (int i = 0; i < 100; i++)
            {
                db.Categories.Add(new Category() { Name = rnd.GenerateRandomStringWithRandomLength(5, 20) });

                index++;

                if (index % 100 == 0)
                {
                    db.SaveChanges();
                }
            }

            db.SaveChanges();

            index = 0;
            for (int i = 0; i < 100; i++)
            {
                int minYears = rnd.GenerateRandomNumber(1, 10);
                int maxYears = rnd.GenerateRandomNumber(minYears + 2, 25);
                db.AgeRanges.Add(
                    new AgeRange() { MinYears = minYears, MaxYears = rnd.IsInFavour(30) ? (int?)null : maxYears });

                index++;

                if (index % 100 == 0)
                {
                    db.SaveChanges();
                }
            }

            db.SaveChanges();

            index = 0;
            Console.WriteLine("Adding toys");
            for (int i = 0; i < 100000; i++)
            {
                var ageRangeIds = db.AgeRanges.Select(x => x.Id).ToList();
                var manufacturerIds = db.Manufacturers.Select(x => x.Id).ToList();
                var categoryIds = db.Categories.Select(x => x.Id).ToList();

                var categoriesCount = rnd.GenerateRandomNumber(0, 3);
                var categories = new List<Category>();
                for (int j = 0; j < categoriesCount; j++)
                {
                    categories.Add(db.Categories.Find(categoryIds[rnd.GenerateRandomNumber(0, categoryIds.Count - 1)]));
                }

                db.Toys.Add(
                    new Toy()
                        {
                            AgeRangeId = ageRangeIds[rnd.GenerateRandomNumber(0, ageRangeIds.Count - 1)],
                            Name = rnd.GenerateRandomStringWithRandomLength(5, 25),
                            Color = rnd.GenerateRandomStringWithRandomLength(5, 20),
                            ManufacturerId = manufacturerIds[rnd.GenerateRandomNumber(0, manufacturerIds.Count - 1)],
                            Price = (decimal)rnd.GenerateRandomDouble(0.3, 999.95),
                            Type = rnd.GenerateRandomStringWithRandomLength(5, 20),
                            Categories = categories
                        });
                index++;
                
                if (index%100==0)
                {
                    db.SaveChanges();
                    Console.Write(".");
                }
            }

            db.SaveChanges();
        }
Пример #6
0
        static void Main()
        {
            var db = new ToyStoreEntities();
            var generator = new RandomGenerator();
            var toyStoreGenerator = new ToyStoreDataController(generator);

            GenerateRandomAgeRanges(db, 100, toyStoreGenerator);
            db.SaveChanges();

            GenerateRandomColors(db, 30, toyStoreGenerator);
            db.SaveChanges();

            GenerateRandomCountries(db, 50, toyStoreGenerator);
            db.SaveChanges();

            GenerateRandomCategories(db, 100, toyStoreGenerator);
            db.SaveChanges();

            var countryIds = db.Countries.Select(c => c.CountryId).ToList();
            var colorIds = db.Colors.Select(c => c.ColorId).ToList();

            GenerateRandomManufacturers(db, 50, toyStoreGenerator, countryIds);
            db.SaveChanges();

            var manufacturerIds = db.Manufacturers.Select(m => m.ManufacturerId).ToList();
            var ageRangeIds = db.AgeRanges.Select(ar => ar.AgeRangeId).ToList();

            db.Toys.AddRange(GetRandomToys(db, 1000, toyStoreGenerator, colorIds, manufacturerIds, ageRangeIds));
            db.SaveChanges();

            var toys = db.Toys.ToList();

            AddToysToManufacturers(db, generator, manufacturerIds, toys);
            db.SaveChanges();
        }