public IActionResult Create([Bind("UserID,DeliveryName,DeliveryAddress")] Order order) { if (ModelState.IsValid) { order.DateCreated = DateTime.Now; _context.Order.Add(order); _context.SaveChanges(); //add the orderlines to the database after creating the order Basket basket = Basket.GetBasket(_context); order.TotalPrice = basket.CreateOrderLines(order.OrderID); _context.SaveChanges(); return(RedirectToAction("Details", new { id = order.OrderID })); } return(RedirectToAction("Review")); }
public static void SeedDb(BabyStoreContext context) { //context.Database.EnsureCreated(); because database is already created we just have to modify it // Look for any category. if (context.Category.Any()) { return; // DB has been seeded } var categories = new List <Category> { new Category { Name = "Clothes" }, new Category { Name = "Play and Toys" }, new Category { Name = "Feeding" }, new Category { Name = "Medicine" }, new Category { Name = "Travel" }, new Category { Name = "Sleeping" } }; foreach (Category c in categories) { context.Category.Add(c); } context.SaveChanges(); var products = new List <Product> { new Product { Name = "Sleep Suit", Description = "For sleeping or general wear", Price = 4.99M, CategoryID = categories.Single(c => c.Name == "Clothes").ID }, new Product { Name = "Vest", Description = "For sleeping or general wear", Price = 2.99M, CategoryID = categories.Single(c => c.Name == "Clothes").ID }, new Product { Name = "Orange and Yellow Lion", Description = "Makes a squeaking noise", Price = 1.99M, CategoryID = categories.Single(c => c.Name == "Play and Toys").ID }, new Product { Name = "Blue Rabbit", Description = "Baby comforter", Price = 2.99M, CategoryID = categories.Single(c => c.Name == "Play and Toys").ID }, new Product { Name = "3 Pack of Bottles", Description = "For a leak free drink everytime", Price = 24.99M, CategoryID = categories.Single(c => c.Name == "Feeding").ID }, new Product { Name = "3 Pack of Bibs", Description = "Keep your baby dry when feeding", Price = 8.99M, CategoryID = categories.Single(c => c.Name == "Feeding").ID }, new Product { Name = "Powdered Baby Milk", Description = "Nutritional and Tasty", Price = 9.99M, CategoryID = categories.Single(c => c.Name == "Feeding").ID }, new Product { Name = "Pack of 70 Disposable Nappies", Description = "Dry and secure nappies with snug fit", Price = 19.99M, CategoryID = categories.Single(c => c.Name == "Feeding").ID }, new Product { Name = "Colic Medicine", Description = "For helping with baby colic pains", Price = 4.99M, CategoryID = categories.Single(c => c.Name == "Medicine").ID }, new Product { Name = "Reflux Medicine", Description = "Helps to prevent milk regurgitation and sickness", Price = 4.99M, CategoryID = categories.Single(c => c.Name == "Medicine").ID }, new Product { Name = "Black Pram and Pushchair System", Description = "Convert from pram to pushchair, with raincover", Price = 299.99M, CategoryID = categories.Single(c => c.Name == "Travel").ID }, new Product { Name = "Car Seat", Description = "For safe car travel", Price = 49.99M, CategoryID = categories.Single(c => c.Name == "Travel").ID }, new Product { Name = "Moses Basket", Description = "Plastic moses basket", Price = 75.99M, CategoryID = categories.Single(c => c.Name == "Sleeping").ID }, new Product { Name = "Crib", Description = "Wooden crib", Price = 35.99M, CategoryID = categories.Single(c => c.Name == "Sleeping").ID }, new Product { Name = "Cot Bed", Description = "Converts from cot into bed for older children", Price = 149.99M, CategoryID = categories.Single(c => c.Name == "Sleeping").ID }, new Product { Name = "Circus Crib Bale", Description = "Contains sheet, duvet and bumper", Price = 29.99M, CategoryID = categories.Single(c => c.Name == "Sleeping").ID }, new Product { Name = "Loved Crib Bale", Description = "Contains sheet, duvet and bumper", Price = 35.99M, CategoryID = categories.Single(c => c.Name == "Sleeping").ID } }; foreach (var p in products) { context.Product.Add(p); } context.SaveChanges(); var images = new List <ProductImage> { new ProductImage { FileName = "SleepSuit1.JPG" }, new ProductImage { FileName = "SleepSuit2.JPG" }, new ProductImage { FileName = "Vest1.JPG" }, new ProductImage { FileName = "Vest2.JPG" }, new ProductImage { FileName = "Lion1.JPG" }, new ProductImage { FileName = "Rabbit1.JPG" }, new ProductImage { FileName = "Bottles1.JPG" }, new ProductImage { FileName = "Bottles2.JPG" }, new ProductImage { FileName = "Bottles3.JPG" }, new ProductImage { FileName = "Bibs1.JPG" }, new ProductImage { FileName = "Bibs2.JPG" }, new ProductImage { FileName = "Milk1.JPG" }, new ProductImage { FileName = "Nappies1.JPG" }, new ProductImage { FileName = "Nappies2.JPG" }, new ProductImage { FileName = "Nappies3.JPG" }, new ProductImage { FileName = "ColicMedicine1.JPG" }, new ProductImage { FileName = "Reflux1.JPG" }, new ProductImage { FileName = "Pram1.JPG" }, new ProductImage { FileName = "Pram2.JPG" }, new ProductImage { FileName = "Pram3.JPG" }, new ProductImage { FileName = "CarSeat1.JPG" }, new ProductImage { FileName = "CarSeat2.JPG" }, new ProductImage { FileName = "Moses1.JPG" }, new ProductImage { FileName = "Moses2.JPG" }, new ProductImage { FileName = "Crib1.JPG" }, new ProductImage { FileName = "Crib2.JPG" }, new ProductImage { FileName = "Bed1.JPG" }, new ProductImage { FileName = "Bed2.JPG" }, new ProductImage { FileName = "CircusBale1.JPG" }, new ProductImage { FileName = "CircusBale2.JPG" }, new ProductImage { FileName = "CircusBale3.JPG" }, new ProductImage { FileName = "LovedBale1.JPG" }, }; images.ForEach(c => context.ProductImage.Add(c)); context.SaveChanges(); var imageMappings = new List <ProductImageMapping> { new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "SleepSuit1.JPG").ID, ProductID = products.Single(c => c.Name == "Sleep Suit").ID, ImageNumber = 0 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "SleepSuit2.JPG").ID, ProductID = products.Single(c => c.Name == "Sleep Suit").ID, ImageNumber = 1 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Vest1.JPG").ID, ProductID = products.Single(c => c.Name == "Vest").ID, ImageNumber = 0 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Vest2.JPG").ID, ProductID = products.Single(c => c.Name == "Vest").ID, ImageNumber = 1 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Lion1.JPG").ID, ProductID = products.Single(c => c.Name == "Orange and Yellow Lion").ID, ImageNumber = 0 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Rabbit1.JPG").ID, ProductID = products.Single(c => c.Name == "Blue Rabbit").ID, ImageNumber = 0 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Bottles1.JPG").ID, ProductID = products.Single(c => c.Name == "3 Pack of Bottles").ID, ImageNumber = 0 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Bottles2.JPG").ID, ProductID = products.Single(c => c.Name == "3 Pack of Bottles").ID, ImageNumber = 1 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Bottles3.JPG").ID, ProductID = products.Single(c => c.Name == "3 Pack of Bottles").ID, ImageNumber = 2 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Bibs1.JPG").ID, ProductID = products.Single(c => c.Name == "3 Pack of Bibs").ID, ImageNumber = 0 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Bibs2.JPG").ID, ProductID = products.Single(c => c.Name == "3 Pack of Bibs").ID, ImageNumber = 1 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Milk1.JPG").ID, ProductID = products.Single(c => c.Name == "Powdered Baby Milk").ID, ImageNumber = 0 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Nappies1.JPG").ID, ProductID = products.Single(c => c.Name == "Pack of 70 Disposable Nappies").ID, ImageNumber = 0 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Nappies2.JPG").ID, ProductID = products.Single(c => c.Name == "Pack of 70 Disposable Nappies").ID, ImageNumber = 1 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Nappies3.JPG").ID, ProductID = products.Single(c => c.Name == "Pack of 70 Disposable Nappies").ID, ImageNumber = 2 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "ColicMedicine1.JPG").ID, ProductID = products.Single(c => c.Name == "Colic Medicine").ID, ImageNumber = 0 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Reflux1.JPG").ID, ProductID = products.Single(c => c.Name == "Reflux Medicine").ID, ImageNumber = 0 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Pram1.JPG").ID, ProductID = products.Single(c => c.Name == "Black Pram and Pushchair System").ID, ImageNumber = 0 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Pram2.JPG").ID, ProductID = products.Single(c => c.Name == "Black Pram and Pushchair System").ID, ImageNumber = 1 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Pram3.JPG").ID, ProductID = products.Single(c => c.Name == "Black Pram and Pushchair System").ID, ImageNumber = 2 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "CarSeat1.JPG").ID, ProductID = products.Single(c => c.Name == "Car Seat").ID, ImageNumber = 0 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "CarSeat2.JPG").ID, ProductID = products.Single(c => c.Name == "Car Seat").ID, ImageNumber = 1 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Moses1.JPG").ID, ProductID = products.Single(c => c.Name == "Moses Basket").ID, ImageNumber = 0 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Moses2.JPG").ID, ProductID = products.Single(c => c.Name == "Moses Basket").ID, ImageNumber = 1 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Crib1.JPG").ID, ProductID = products.Single(c => c.Name == "Crib").ID, ImageNumber = 0 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Crib2.JPG").ID, ProductID = products.Single(c => c.Name == "Crib").ID, ImageNumber = 1 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Bed1.JPG").ID, ProductID = products.Single(c => c.Name == "Cot Bed").ID, ImageNumber = 0 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "Bed2.JPG").ID, ProductID = products.Single(c => c.Name == "Cot Bed").ID, ImageNumber = 1 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "CircusBale1.JPG").ID, ProductID = products.Single(c => c.Name == "Circus Crib Bale").ID, ImageNumber = 0 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "CircusBale2.JPG").ID, ProductID = products.Single(c => c.Name == "Circus Crib Bale").ID, ImageNumber = 1 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "CircusBale3.JPG").ID, ProductID = products.Single(c => c.Name == "Circus Crib Bale").ID, ImageNumber = 2 }, new ProductImageMapping { ProductImageID = images.Single(i => i.FileName == "LovedBale1.JPG").ID, ProductID = products.Single(c => c.Name == "Loved Crib Bale").ID, ImageNumber = 0 }, }; imageMappings.ForEach(c => context.ProductImageMapping.Add(c)); context.SaveChanges(); var orders = new List <Order> { new Order { DeliveryAddress = new Address { AddressLine1 = "1 Some Street", Town = "Town1", County = "County", Postcode = "PostCode" }, TotalPrice = 4.99M, UserID = "*****@*****.**", DateCreated = new DateTime(2014, 1, 1), DeliveryName = "Admin" }, new Order { DeliveryAddress = new Address { AddressLine1 = "1 Some Street", Town = "Town1", County = "County", Postcode = "PostCode" }, TotalPrice = 2.99M, UserID = "*****@*****.**", DateCreated = new DateTime(2014, 1, 2), DeliveryName = "Admin" }, new Order { DeliveryAddress = new Address { AddressLine1 = "1 Some Street", Town = "Town1", County = "County", Postcode = "PostCode" }, TotalPrice = 1.99M, UserID = "*****@*****.**", DateCreated = new DateTime(2014, 1, 3), DeliveryName = "Admin" }, new Order { DeliveryAddress = new Address { AddressLine1 = "1 Some Street", Town = "Town1", County = "County", Postcode = "PostCode" }, TotalPrice = 24.99M, UserID = "*****@*****.**", DateCreated = new DateTime(2014, 1, 4), DeliveryName = "Admin" }, new Order { DeliveryAddress = new Address { AddressLine1 = "1 Some Street", Town = "Town1", County = "County", Postcode = "PostCode" }, TotalPrice = 8.99M, UserID = "*****@*****.**", DateCreated = new DateTime(2014, 1, 5), DeliveryName = "Admin" } }; orders.ForEach(c => context.Order.Add(c)); context.SaveChanges(); var orderLines = new List <OrderLine> { new OrderLine { OrderID = 1, ProductID = products.Single(c => c.Name == "Sleep Suit").ID, ProductName = "Sleep Suit", Quantity = 1, UnitPrice = products.Single(c => c.Name == "Sleep Suit").Price }, new OrderLine { OrderID = 2, ProductID = products.Single(c => c.Name == "Vest").ID, ProductName = "Vest", Quantity = 1, UnitPrice = products.Single(c => c.Name == "Vest").Price }, new OrderLine { OrderID = 3, ProductID = products.Single(c => c.Name == "Orange and Yellow Lion").ID, ProductName = "Orange and Yellow Lion", Quantity = 1, UnitPrice = products.Single(c => c.Name == "Orange and Yellow Lion").Price }, new OrderLine { OrderID = 4, ProductID = products.Single(c => c.Name == "3 Pack of Bottles").ID, ProductName = "3 Pack of Bottles", Quantity = 1, UnitPrice = products.Single(c => c.Name == "3 Pack of Bottles").Price }, new OrderLine { OrderID = 5, ProductID = products.Single(c => c.Name == "3 Pack of Bibs").ID, ProductName = "3 Pack of Bibs", Quantity = 1, UnitPrice = products.Single(c => c.Name == "3 Pack of Bibs").Price } }; orderLines.ForEach(c => context.OrderLine.Add(c)); context.SaveChanges(); }