protected override void Seed(ApplicationDbContext context) { //товары var childBicycle = new Product(1, "Велосипед детский", "Освежите в памяти воспоминания о детстве, купите себе сами новый трехколесный велосипед, ну, или, попросите у вашей мамы.", "images/products/bicycle.png", 14990); var fastBicycle = new Product(2, "Велосипед быстрый", "Высушите голову за 5 минут, без использования фена!", "images/products/speedBicycle.jpg", 29990); var rollerSkates = new Product(3, "Роликовые коньки", "Почувствуйте себя коровой на льду!", "images/products/skates.jpg", 5990); var rocket = new Product(4, "Ракета", "Полет на луну бесценен!", "images/products/rocket.png", 99999); var guitar = new Product(6, "Гитара", "Покорительница противоположенного пола и душа компании.", "images/products/guitar.jpg", 990); var scooter = new Product(7, "Самокат", "Обгоните конкурентов на повороте!", "images/products/scooter.jpg", 990); var treadmill = new Product(8, "Беговая дорожка", "Нет времени объяснять, надо бежать!", "images/products/treadmill.jpg", 19900); var bike = new Product(9, "Мотоцикл", "Незаменимая вешь для косплея терминатора.", "images/products/bike.jpeg", 199900); var iphonePack = new Product(10, "Айфоны (упаковка)", "Набор айфонов, отличный подарок для многодетной семьи. Лучше купить всем сразу, чем выслушивать от каждого!", "images/products/iphones.png", 9999); var freezer = new Product(21, "Холодильник", "Надежное укрытие во время жары!", "images/products/freezer.jpg", 19999); var mangal = new Product(14, "Мангал", "Шашлыки уже трепещут в осинах.", "images/products/mangal.jpg", 229); var taburet = new Product(15, "Табурет", "Половина инвентаря из набора для путешествий поросёнка Петра уже ждут Вас.", "images/products/taburet.jpg", 729); //аксесуары var dvd = new Product(13, "DVD диск", "Запишите на него всё что пожелаете.", "images/products/dvd.jpg", 9, ProductType.Accessorise); var ivansHelmet = new Product(16, "Шлем Ивана Грозного", "Отличный шлем для пенной вечеринки.", "images/products/ivans_helmet.jpg", 99999, ProductType.Accessorise); taburet.AddAccessorise(ivansHelmet); iphonePack.AddAccessorise(ivansHelmet); dvd.AddAccessorise(ivansHelmet); var bikeHelmet = new Product(17, "Мотоциклетный шлем", "Надежная защита для Вашей головы.", "images/products/bike_helmet.jpg", 9899, ProductType.Accessorise); bike.AddAccessorise(bikeHelmet); rocket.AddAccessorise(bikeHelmet); fastBicycle.AddAccessorise(bikeHelmet); var childHelmet = new Product(18, "Детский шлем", "Обязательно купите ребенку!", "images/products/childhelmet.jpg", 7890, ProductType.Accessorise); childBicycle.AddAccessorise(childHelmet); scooter.AddAccessorise(childHelmet); rollerSkates.AddAccessorise(childHelmet); var luna = new Product(19, "Луна", "Отлично подойдёт каждому современному человеку!", "images/products/luna.png", 777, ProductType.Accessorise); mangal.AddAccessorise(luna); rocket.AddAccessorise(luna); var childGlasses = new Product(20, "Детские очки", "Чтобы солнце не слепило глаза!", "images/products/childGlasses.jpeg", 199, ProductType.Accessorise); childBicycle.AddAccessorise(childGlasses); rollerSkates.AddAccessorise(childGlasses); scooter.AddAccessorise(childGlasses); var banana = new Product(11, "Бананы", "Связка бананов для миньонов!", "images/products/banan.jpg", 99, ProductType.Accessorise); mangal.AddAccessorise(banana); taburet.AddAccessorise(banana); freezer.AddAccessorise(banana); var milk = new Product(12, "Молоко", "Молоко вдвойне вкусней, если это молоко!", "images/products/milk.jpg", 59, ProductType.Accessorise); mangal.AddAccessorise(milk); taburet.AddAccessorise(milk); freezer.AddAccessorise(milk); var iphoneCase = new Product(22, "Чехол для телефона", "Посещение психотерапевта в подарок!", "images/products/iphoneCase.png", 1199, ProductType.Accessorise); iphonePack.AddAccessorise(iphoneCase); iphonePack.AddAccessorise(dvd); var beerBottle = new Product(23, "Пиво", "Для тех кому надоела кока-кола!", "images/products/beer.jpg", 89, ProductType.Accessorise); guitar.AddAccessorise(beerBottle); var buben = new Product(5, "Бубен проектный", "Незаменимая вещь для каждого программиста, особенно во времена дедлайнов.", "images/products/buben.jpg", 5000, ProductType.Accessorise); mangal.AddAccessorise(buben); // var newAccessorises = new[] { ivansHelmet, bikeHelmet, childHelmet, luna, childGlasses, banana, milk, iphoneCase, beerBottle, buben }; foreach (var accessorise in newAccessorises) { context.Products.Attach(accessorise); context.Products.AddOrUpdate(accessorise); } var newProducts = new[] { childBicycle, fastBicycle, rollerSkates, rocket, guitar, scooter, treadmill, bike, iphonePack, freezer, dvd, mangal, taburet }; foreach (var product in newProducts) { context.Products.Attach(product); context.Products.AddOrUpdate(product); } // var managers = new[] { Manager.Create(1, "Мошаров", "Василий", "Петрович", "/images/faces/manager_1.jpg"), Manager.Create(2, "Уточкина", "Василиса", "Ивановна", "/images/faces/manager_2.jpg"), Manager.Create(3, "Козлова", "Юлия", "Валентиновна", "/images/faces/manager_3.jpg"), Manager.Create(4, "Гейзенберг", "Вадим", "Иванович", "/images/faces/manager_4.jpg"), Manager.Create(5, "Фролова", "Елена", "Петровна", "/images/faces/manager_5.jpg"), Manager.Create(6, "Тесла", "Николай", "Николаевич", "/images/faces/manager_6.jpg"), Manager.Create(7, "Карпова", "Светлана", "Евгеньевна", "/images/faces/manager_7.jpg"), Manager.Create(8, "Кириллов", "Кирилл", "Кириллович", "/images/faces/manager_8.jpg"), Manager.Create(9, "Плеханов", "Игорь", "Семёнович", "/images/faces/manager_9.jpg"), Manager.Create(10, "Болд", "Александр", "Васильевич", "/images/faces/manager_10.jpg"), Manager.Create(11, "Бенедиктов", "Роман", "Олегович", "/images/faces/manager_11.jpg"), Manager.Create(12, "Морозова", "Анастасия", "Дмитриевна", "/images/faces/manager_12.jpg"), Manager.Create(13, "Варламова", "Евгения", "Валентиновна", "/images/faces/manager_13.jpg"), Manager.Create(14, "Учитель", "Мария", "Викторовна", "/images/faces/manager_14.jpg"), Manager.Create(15, "Бекмамбетов", "Семён", "Андреевич", "/images/faces/manager_15.jpg"), }; context.Managers.AddOrUpdate(managers); // var addresses = new[] { new Address("Россия", "Москва", "ул. Шарикоподшипниковская", 22), new Address("Казахстан", "Алма-Ата", "ул. Сатпаева", 123), new Address("Россия", "Санкт-Петербург", "ул. Рубенштейна", 12), }; var contacts = new[] { "+7 (123) 555-55-55", "*****@*****.**", "*****@*****.**", "+7 (123) 456-78-90", }; var notes = new[] { "Звонить не позже 19-00!", "Звонить не раньше 12-00!!", "Обращаться только на Вы.", "Обязательно предложите мне какую-нибудь платную услугу.", "Захватить по дороге еду в макдональдсе (вместе покушаем)" }; // var allOrderItems = context.OrderItems.ToList(); //Заполним заказами for (var orderId = 1; orderId <= 100; orderId++) { var address = addresses.Shuffle().First(); var manager = managers.Shuffle().First(); var contact = contacts.Shuffle().First(); var note = notes.Shuffle().First(); var random = new Random(); var clientName = GenerateRandomName(); var order = new Order(orderId, clientName, DateTime.Now, manager, address, contact, note); const int maxCountOfItems = 5; var numberOfItems = random.Next(1, maxCountOfItems); Console.WriteLine(numberOfItems); var products = newProducts.Shuffle().Take(numberOfItems); foreach (var product in products) { var itemCount = random.Next(1, 5); order.AddOrderItem(product, itemCount); } context.Orders.AddOrUpdate(order); var newOrderItems = order.Items.ToArray(); allOrderItems = allOrderItems.Except(newOrderItems).ToList(); context.OrderItems.AddOrUpdate(newOrderItems); } context.Set <OrderItem>().RemoveRange(allOrderItems); // context.SaveChanges(); }