Beispiel #1
0
        public void AddDishToCart(BaseDish baseDish)
        {
            var sessionCart = _session.GetString(Constants.CartSession);
            ICollection <OrderedDish> cart = (sessionCart != null)
                ? GetSessionCartList(Constants.CartSession)
                : new List <OrderedDish>();

            cart.Add(CopyBaseDishToOrderedDish(baseDish));
            SetSessionCartList(Constants.CartSession, cart);
        }
Beispiel #2
0
 private OrderedDish CopyBaseDishToOrderedDish(BaseDish baseDish)
 {
     return(new OrderedDish
     {
         Name = baseDish.Name,
         BaseDishId = baseDish.BaseDishId,
         Price = baseDish.Price,
         Ingredients = baseDish.BaseDishIngredients.Select(bdi => bdi.Ingredient.IngredientId).ToList(),
         Guid = Guid.NewGuid()
     });
 }
Beispiel #3
0
        public static void Initialize(
            ApplicationDbContext context,
            UserManager <ApplicationUser> userManager,
            RoleManager <IdentityRole> roleManager)
        {
            // Users & Roles
            var adminRole = new IdentityRole {
                Name = "Admin"
            };
            var roleResult = roleManager.CreateAsync(adminRole).Result;

            var aUser = new ApplicationUser
            {
                UserName     = "******",
                Email        = "*****@*****.**",
                Address      = "sjövägen 3",
                Zipcode      = "11320",
                CustomerName = "Kunden",
                PhoneNumber  = "0720302020"
            };

            var adminUser = new ApplicationUser
            {
                UserName     = "******",
                Email        = "*****@*****.**",
                Address      = "sjövägen 3",
                Zipcode      = "11320",
                CustomerName = "Admin",
                PhoneNumber  = "0720302020"
            };

            var userResult      = userManager.CreateAsync(aUser, "pass").Result;
            var adminUserResult = userManager.CreateAsync(adminUser, "pass").Result;
            var adminRoleResult = userManager.AddToRoleAsync(adminUser, "Admin").Result;

            // Ingredients
            var cheese = new Ingredient {
                Name = "Cheese", AddExtraPrice = 5, IsActive = true
            };
            var tomatoe = new Ingredient {
                Name = "Tomatoe", AddExtraPrice = 5, IsActive = true
            };
            var ham = new Ingredient {
                Name = "Ham", AddExtraPrice = 10, IsActive = true
            };
            var mushroom = new Ingredient {
                Name = "Mushroom", AddExtraPrice = 10, IsActive = true
            };
            var pineapple = new Ingredient {
                Name = "Pineapple", AddExtraPrice = 10, IsActive = true
            };

            // Categories
            var pizza = new Category {
                Name = "Pizza", IsActive = true
            };
            var pasta = new Category {
                Name = "Pasta", IsActive = true
            };

            // Dishes
            var capricciosa = new BaseDish {
                Name = "Capricciosa", Price = 100, IsActive = true, Category = pizza
            };
            var margherita = new BaseDish {
                Name = "Margherita", Price = 90, IsActive = true, Category = pizza
            };
            var hawaii = new BaseDish {
                Name = "Hawaii", Price = 100, IsActive = true, Category = pizza
            };
            var pastacarbonara = new BaseDish {
                Name = "Pasta carbonara", Price = 90, IsActive = true, Category = pasta
            };

            // Orders
            var order1 = new Order
            {
                TotalPrice  = 200,
                User        = aUser,
                OrderDate   = DateTime.Now,
                Address     = "Testvägen 3",
                Email       = "*****@*****.**",
                PhoneNumber = "23920323223",
                Zipcode     = "12321",
                IsComplete  = true
            };
            var order2 = new Order
            {
                TotalPrice  = 100,
                OrderDate   = DateTime.Now,
                Address     = "Testvägen 3",
                Email       = "*****@*****.**",
                PhoneNumber = "23920323223",
                Zipcode     = "12321",
                IsComplete  = false
            };

            var orderedDish1 = new OrderedDish {
                Name = "Capricciosa", Price = 100, Category = pizza
            };

            orderedDish1.OrderedDishIngredients = new List <OrderedDishIngredient>
            {
                new OrderedDishIngredient {
                    OrderedDish = orderedDish1, Ingredient = cheese
                },
                new OrderedDishIngredient {
                    OrderedDish = orderedDish1, Ingredient = tomatoe
                },
                new OrderedDishIngredient {
                    OrderedDish = orderedDish1, Ingredient = ham
                },
                new OrderedDishIngredient {
                    OrderedDish = orderedDish1, Ingredient = mushroom
                }
            };

            var orderedDish2 = new OrderedDish {
                Name = "Margaritha", Price = 90, Category = pizza
            };

            orderedDish2.OrderedDishIngredients = new List <OrderedDishIngredient>
            {
                new OrderedDishIngredient {
                    OrderedDish = orderedDish2, Ingredient = cheese
                },
                new OrderedDishIngredient {
                    OrderedDish = orderedDish2, Ingredient = tomatoe
                },
                new OrderedDishIngredient {
                    OrderedDish = orderedDish2, Ingredient = mushroom
                }
            };

            var orderedDish3 = new OrderedDish {
                Name = "Hawaii", Price = 100, Category = pizza
            };

            orderedDish3.OrderedDishIngredients = new List <OrderedDishIngredient>
            {
                new OrderedDishIngredient {
                    OrderedDish = orderedDish3, Ingredient = cheese
                },
                new OrderedDishIngredient {
                    OrderedDish = orderedDish3, Ingredient = tomatoe
                },
                new OrderedDishIngredient {
                    OrderedDish = orderedDish3, Ingredient = ham
                },
                new OrderedDishIngredient {
                    OrderedDish = orderedDish3, Ingredient = pineapple
                }
            };

            capricciosa.BaseDishIngredients = new List <BaseDishIngredient>
            {
                new BaseDishIngredient {
                    BaseDish = capricciosa, Ingredient = cheese
                },
                new BaseDishIngredient {
                    BaseDish = capricciosa, Ingredient = tomatoe
                },
                new BaseDishIngredient {
                    BaseDish = capricciosa, Ingredient = ham
                },
                new BaseDishIngredient {
                    BaseDish = capricciosa, Ingredient = mushroom
                }
            };

            margherita.BaseDishIngredients = new List <BaseDishIngredient>
            {
                new BaseDishIngredient {
                    BaseDish = margherita, Ingredient = cheese
                },
                new BaseDishIngredient {
                    BaseDish = margherita, Ingredient = ham
                }
            };

            hawaii.BaseDishIngredients = new List <BaseDishIngredient>
            {
                new BaseDishIngredient {
                    BaseDish = hawaii, Ingredient = cheese
                },
                new BaseDishIngredient {
                    BaseDish = hawaii, Ingredient = ham
                },
                new BaseDishIngredient {
                    BaseDish = hawaii, Ingredient = pineapple
                }
            };

            order1.OrderedDishes = new List <OrderedDish> {
                orderedDish1, orderedDish2
            };
            order2.OrderedDishes = new List <OrderedDish> {
                orderedDish3
            };

            context.AddRange(cheese, tomatoe, ham, mushroom, pineapple);
            context.AddRange(capricciosa, margherita, hawaii, pastacarbonara);
            context.AddRange(order1, order2);
            context.AddRange(orderedDish1, orderedDish2, orderedDish3);
            context.AddRange(pizza, pasta);

            context.SaveChanges();
        }
Beispiel #4
0
        public async Task <IActionResult> SaveBaseDish(int baseDishId, int categoryId, [Bind("BaseDishId,Name,Price,IsActive")] BaseDish baseDish)
        {
            if (ModelState.IsValid)
            {
                baseDish.Category = _context.Categories.SingleOrDefault(c => c.CategoryId == categoryId);

                // TODO Another way to differ between create/edit mode
                if (baseDishId != 0)
                {
                    _context.Update(baseDish);
                    await _context.SaveChangesAsync();

                    _baseDishService.SaveIngredientsToDish(baseDish.BaseDishId);
                }
                else
                {
                    _context.Add(baseDish);
                    await _context.SaveChangesAsync();

                    _baseDishService.SaveIngredientsToDish();
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(PartialView("_BaseDishCreateEditPartial", baseDish));
        }