Пример #1
0
        private static void Build()
        {
            if (_orders.Any())
            {
                return;
            }
            var addressCount  = AddressSeeder.Count();
            var customerCount = CustomerSeeder.Count();
            var orders        = new List <Order>();

            for (var i = 1; i <= 1500; i++)
            {
                var customerId = (customerCount - i) % i;
                if (!(customerId > 0 && customerId < customerCount))
                {
                    customerId = 25;
                }
                var deliveryAddressId = i % addressCount + 1;
                if (deliveryAddressId < 2)
                {
                    deliveryAddressId = 3;
                }
                if (deliveryAddressId > addressCount)
                {
                    deliveryAddressId = addressCount - 1;
                }
                var invoiceAddressId = i % 5 == 0 ? 3 : deliveryAddressId;

                orders.Add(BuildItem(i, customerId, deliveryAddressId, invoiceAddressId));
            }

            _orders = orders;
        }
Пример #2
0
        public override void Initialize(IServiceProvider serviceProvider, WebshopContext context)
        {
            base.Initialize(serviceProvider, context);
            // check if database is healthy
            if (!DbIsHealthy(context))
            {
                base.RecreateDatabase(context);
            }
            else
            {
                return;
            }

            // seed data
            var productCategories = ProductCategorySeeder.GetSeedList();

            context.ProductCategories.AddRange(productCategories);
            context.SaveChanges();

            var addresses = AddressSeeder.GetSeedList();

            context.Addresses.AddRange(addresses);
            context.SaveChanges();

            var customers = CustomerSeeder.GetSeedList();

            context.Customers.AddRange(customers);
            context.SaveChanges();

            var images = ImageSeeder.GetSeedList();

            context.Images.AddRange(images);
            context.SaveChanges();

            var warehouses = WarehouseSeeder.GetSeedList();

            context.Warehouses.AddRange(warehouses);
            context.SaveChanges();

            var products = ProductSeeder.GetSeedList();

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

            var orders = OrderSeeder.GetSeedList();

            context.Orders.AddRange(orders);
            context.SaveChanges();

            var orderProducts = OrderProductSeeder.GetSeedList();

            context.OrderProducts.AddRange(orderProducts);
            context.SaveChanges();
        }
Пример #3
0
 public bool DbIsHealthy(WebshopContext context)
 {
     return(context.ProductCategories.Count() == ProductCategorySeeder.Count() &&
            context.Addresses.Count() == AddressSeeder.Count() &&
            context.Customers.Count() == CustomerSeeder.Count() &&
            context.Images.Count() == ImageSeeder.Count() &&
            context.Warehouses.Count() == WarehouseSeeder.Count() &&
            context.Products.Count() == ProductSeeder.Count() &&
            context.Orders.Count() == OrderSeeder.Count() &&
            context.OrderProducts.Count() == OrderProductSeeder.Count());
 }