/// <summary> /// Initializes the specified context. /// </summary> /// <param name="context">The context.</param> public static void Initialize(ApplicationDbContext context) { context.Database.EnsureCreated(); // This is the code used to create an Order (Creates an order with multiple number of same items right now, used for testing) /* Add Order * var Noel = context.Users.Where(x => x.Email == "*****@*****.**").FirstOrDefault(); // Account you choose to link it to * * Order MyOrder = new Order() * { * DateTime = System.DateTime.Now, * Status = Models.Status.Received, * User = Noel, * }; * * List<OrderMenuItem> TheItems = new List<OrderMenuItem>(); * for (int i = 0; i < 3; i++) * { * // The MenuItem and its AddOns are added here. So far just one MenuItem but could switch to more MenuItems * OrderMenuItem MyOrderMenuItem = new OrderMenuItem() * { * MenuItem = context.MenuItem.Include(ing => ing.MenuItemIngredients).ThenInclude(ing => ing.Ingredient).Single(m => m.Name == "Chicken Quesadilla"), * AddOns = new List<AddOn> * { * context.AddOn.SingleOrDefault(a => a.Name == "Croutons"), context.AddOn.SingleOrDefault(a => a.Name == "Pineapple") * } * }; * * // * foreach (var ing in MyOrderMenuItem.MenuItem.MenuItemIngredients) * { * if (ing.Ingredient.Name == "Sour Cream") * { * ing.Ingredient.Option = Option.None; * } * if (ing.Ingredient.Name == "Tomato") * { * ing.Ingredient.Option = Option.Low; * } * } * TheItems.Add(MyOrderMenuItem); * } * MyOrder.OrderMenuItems = TheItems; * * double Total = 0; * foreach (OrderMenuItem i in TheItems) * { * Total += i.MenuItem.Price; * foreach (AddOn j in i.AddOns) * { * Total += j.Price; * } * } * * MyOrder.TotalPrice = Total; * * string JSON = JsonConvert.SerializeObject(MyOrder.OrderMenuItems); * * OrderInfo MyOrderInfo = new OrderInfo() * { * DateTime = MyOrder.DateTime, * Status = MyOrder.Status, * TotalPrice = MyOrder.TotalPrice, * User = MyOrder.User, * OrderMenuItems = JSON * }; * * context.OrderInfo.Add(MyOrderInfo); * context.SaveChanges(); * * /*OrderMenuItem AllMenuItems = new OrderMenuItem() * { * MenuItem = context.MenuItem.Include(i => i.MenuItemIngredients).Single(m => m.Name == "Cowboy Burger"), * AddOns = new List<AddOn> * { * context.AddOn.Single(a => a.Name == "Avocado"), context.AddOn.Single(a => a.Name == "Jalapenos") * } * }; * * double total = AllMenuItems.MenuItem.Price; * foreach (AddOn ao in AllMenuItems.AddOns) * { * total += ao.Price; * } * * List<OrderMenuItem> ListOfOMI = new List<OrderMenuItem> { AllMenuItems }; * * var json = JsonConvert.SerializeObject(ListOfOMI); * * OrderInfo DBOrder = new OrderInfo() * { * User = Noel, * DateTime = System.DateTime.Now, * Status = Models.Status.Received, * TotalPrice = total, * OrderMenuItems = json * }; * * context.OrderInfo.Add(DBOrder);*/ // Beginning to add a complete set of dummy data if (context.Category.Any()) { return; } // Categories // ----------------------------------------------------- var categories = new Category[] { new Category { Name = "Appetizers" }, new Category { Name = "Entrees" } }; foreach (Category c in categories) { context.Category.Add(c); } context.SaveChanges(); // Subcategories // ----------------------------------------------------- var subcategories = new Subcategory[] { new Subcategory { Name = "Finger Food", CategoryId = categories.Single(i => i.Name == "Appetizers").Id }, new Subcategory { Name = "Small Portions", CategoryId = categories.Single(i => i.Name == "Appetizers").Id }, new Subcategory { Name = "Burgers", CategoryId = categories.Single(i => i.Name == "Entrees").Id }, new Subcategory { Name = "Soups", CategoryId = categories.Single(i => i.Name == "Entrees").Id } }; foreach (Subcategory s in subcategories) { context.Subcategory.Add(s); } SaveChanges(context); // Addons // ----------------------------------------------------- var addons = new AddOn[] { new AddOn { Name = "Jalapenos", Price = .75, SubcategoryId = subcategories.Single(i => i.Name == "Burgers").Id }, new AddOn { Name = "Avocado", Price = .90, SubcategoryId = subcategories.Single(i => i.Name == "Burgers").Id }, new AddOn { Name = "Pineapple", Price = .75, SubcategoryId = subcategories.Single(i => i.Name == "Burgers").Id }, new AddOn { Name = "Bacon", Price = 1.25, SubcategoryId = subcategories.Single(i => i.Name == "Burgers").Id }, new AddOn { Name = "Rice", Price = .50, SubcategoryId = subcategories.Single(i => i.Name == "Soups").Id }, new AddOn { Name = "Bacon pieces", Price = .75, SubcategoryId = subcategories.Single(i => i.Name == "Soups").Id }, new AddOn { Name = "Croutons", Price = .75, SubcategoryId = subcategories.Single(i => i.Name == "Soups").Id }, }; foreach (AddOn a in addons) { context.AddOn.Add(a); } context.SaveChanges(); // MenuItems // ----------------------------------------------------- var menuitems = new MenuItem[] { new MenuItem { Name = "Cowboy Burger", Price = 9.99, SubcategoryId = subcategories.Single(i => i.Name == "Burgers").Id }, new MenuItem { Name = "Wildcat Burger", Price = 11.99, SubcategoryId = subcategories.Single(i => i.Name == "Burgers").Id }, new MenuItem { Name = "Banzai Burger", Price = 7.99, SubcategoryId = subcategories.Single(i => i.Name == "Burgers").Id }, new MenuItem { Name = "Bleu Ribbon Burger", Price = 10.99, SubcategoryId = subcategories.Single(i => i.Name == "Burgers").Id }, new MenuItem { Name = "Tomato Soup", Price = 7.99, SubcategoryId = subcategories.Single(i => i.Name == "Soups").Id }, new MenuItem { Name = "Zuppa Toscana", Price = 9.99, SubcategoryId = subcategories.Single(i => i.Name == "Soups").Id }, new MenuItem { Name = "Nachos", Price = 4.99, SubcategoryId = subcategories.Single(i => i.Name == "Finger Food").Id }, new MenuItem { Name = "Chicken Quesadilla", Price = 5.99, SubcategoryId = subcategories.Single(i => i.Name == "Finger Food").Id }, new MenuItem { Name = "Fruit Bowl", Price = 2.99, SubcategoryId = subcategories.Single(i => i.Name == "Small Portions").Id }, new MenuItem { Name = "Greek Yogurt", Price = 2.95, SubcategoryId = subcategories.Single(i => i.Name == "Small Portions").Id }, }; foreach (MenuItem m in menuitems) { context.MenuItem.Add(m); } context.SaveChanges(); // Ingredients // ----------------------------------------------------- var ingredients = new Ingredient[] { new Ingredient { Name = "Mayo", Option = Option.Normal }, new Ingredient { Name = "Lettuce", Option = Option.Normal }, new Ingredient { Name = "Tomato", Option = Option.Normal }, new Ingredient { Name = "Onions", Option = Option.Normal }, new Ingredient { Name = "Jalapenos", Option = Option.Normal }, new Ingredient { Name = "Olives", Option = Option.Normal }, new Ingredient { Name = "Cheddar Cheese", Option = Option.Normal }, new Ingredient { Name = "Pickles", Option = Option.Normal }, new Ingredient { Name = "Pineapples", Option = Option.Normal }, new Ingredient { Name = "Sour Cream", Option = Option.Normal }, new Ingredient { Name = "Mushrooms", Option = Option.Normal }, new Ingredient { Name = "Black Beans", Option = Option.Normal }, new Ingredient { Name = "Bleu Cheese", Option = Option.Normal }, }; foreach (Ingredient i in ingredients) { context.Ingredient.Add(i); } // MenuItemIngredients // ----------------------------------------------------- var menuItemIngredients = new MenuItemIngredients[] { new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Cowboy Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Lettuce").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Cowboy Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Mayo").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Cowboy Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Tomato").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Cowboy Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Onions").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Cowboy Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Pickles").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Cowboy Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Cheddar Cheese").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Wildcat Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Tomato").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Wildcat Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Lettuce").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Wildcat Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Jalapenos").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Wildcat Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Mushrooms").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Wildcat Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Cheddar Cheese").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Banzai Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Pineapples").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Banzai Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Cheddar Cheese").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Banzai Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Lettuce").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Banzai Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Tomato").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Banzai Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Mayo").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Bleu Ribbon Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Mayo").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Bleu Ribbon Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Tomato").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Bleu Ribbon Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Lettuce").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Bleu Ribbon Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Onions").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Bleu Ribbon Burger").Id, IngredientId = ingredients.Single(i => i.Name == "Bleu Cheese").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Chicken Quesadilla").Id, IngredientId = ingredients.Single(i => i.Name == "Jalapenos").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Chicken Quesadilla").Id, IngredientId = ingredients.Single(i => i.Name == "Olives").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Chicken Quesadilla").Id, IngredientId = ingredients.Single(i => i.Name == "Onions").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Chicken Quesadilla").Id, IngredientId = ingredients.Single(i => i.Name == "Tomato").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Chicken Quesadilla").Id, IngredientId = ingredients.Single(i => i.Name == "Sour Cream").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Nachos").Id, IngredientId = ingredients.Single(i => i.Name == "Olives").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Nachos").Id, IngredientId = ingredients.Single(i => i.Name == "Onions").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Nachos").Id, IngredientId = ingredients.Single(i => i.Name == "Tomato").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Nachos").Id, IngredientId = ingredients.Single(i => i.Name == "Black Beans").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Nachos").Id, IngredientId = ingredients.Single(i => i.Name == "Sour Cream").Id }, new MenuItemIngredients { MenuItemId = menuitems.Single(m => m.Name == "Nachos").Id, IngredientId = ingredients.Single(i => i.Name == "Jalapenos").Id } }; foreach (MenuItemIngredients m in menuItemIngredients) { var inDatabase = context.MenuItemIngredients.Where(x => x.Ingredient.Id == m.IngredientId && x.MenuItem.Id == m.MenuItemId).SingleOrDefault(); if (inDatabase == null) { context.MenuItemIngredients.Add(m); } } SaveChanges(context); }
//HitlineContext context public static void Initialize(IdentityContext context) { context.Database.EnsureCreated(); // Look for any students. if (context.Products.Any()) { return; // DB has been seeded } var categories = new Category[] { new Category { Name = "Category 1" }, new Category { Name = "Category 2" } }; foreach (Category category in categories) { context.Categories.Add(category); } context.SaveChanges(); var subcategories = new Subcategory[] { new Subcategory { Name = "Subcategory 1", CategoryId = categories.Single(s => s.Name == "Category 1").Id }, new Subcategory { Name = "Subcategory 2", CategoryId = categories.Single(s => s.Name == "Category 1").Id } }; foreach (Subcategory subcategory in subcategories) { context.Subcategories.Add(subcategory); } context.SaveChanges(); var products = new Product[] { new Product { Name = "Iphone", Info = "info 1", Specification = "specif 1", Rating = 0, SubcategoryId = subcategories.Single(s => s.Name == "Subcategory 1").Id }, new Product { Name = "GalaxyS20", Info = "info 2", Specification = "specif 2", Rating = 0, SubcategoryId = subcategories.Single(s => s.Name == "Subcategory 1").Id }, new Product { Name = "Xiaomi", Info = "info 3", Specification = "specif 3", Rating = 0, SubcategoryId = subcategories.Single(s => s.Name == "Subcategory 1").Id }, new Product { Name = "Ipad", Info = "info 4", Specification = "specif 4", Rating = 0, SubcategoryId = subcategories.Single(s => s.Name == "Subcategory 2").Id }, new Product { Name = "Airpods", Info = "info 5", Specification = "specif 5", Rating = 0, SubcategoryId = subcategories.Single(s => s.Name == "Subcategory 2").Id } }; foreach (Product s in products) { context.Products.Add(s); } context.SaveChanges(); var sellers = new Seller[] { new Seller { Name = "Citrus", Adress = "afafaf", Rating = 7 }, new Seller { Name = "Allo", Adress = "agssgsg", Rating = 5 }, new Seller { Name = "Rozetka", Adress = "hddhhd", Rating = 10 } }; foreach (Seller c in sellers) { context.Sellers.Add(c); } context.SaveChanges(); var sellerProducts = new SellerProduct[] { new SellerProduct { ProductId = products.Single(s => s.Name == "Iphone").Id, SellerId = sellers.Single(s => s.Name == "Citrus").Id, }, new SellerProduct { ProductId = products.Single(s => s.Name == "Iphone").Id, SellerId = sellers.Single(s => s.Name == "Allo").Id, }, new SellerProduct { ProductId = products.Single(s => s.Name == "Xiaomi").Id, SellerId = sellers.Single(s => s.Name == "Citrus").Id, }, new SellerProduct { ProductId = products.Single(s => s.Name == "GalaxyS20").Id, SellerId = sellers.Single(s => s.Name == "Rozetka").Id, }, new SellerProduct { ProductId = products.Single(s => s.Name == "Iphone").Id, SellerId = sellers.Single(s => s.Name == "Rozetka").Id, } }; foreach (SellerProduct sp in sellerProducts) { var sellerProductInDataBase = context.SellerProducts.Where( s => s.Product.Id == sp.ProductId && s.Seller.Id == sp.SellerId).SingleOrDefault(); if (sellerProductInDataBase == null) { context.SellerProducts.Add(sp); } } context.SaveChanges(); }