コード例 #1
0
 public static Models.PizzasSold MapPizzaSold(PizzaSold pizza)
 {
     return(new Models.PizzasSold
     {
         OrderId = pizza.OrderId,
         PizzaName = pizza.PizzaName,
         PizzaSize = pizza.PizzaSize,
         PizzaCrust = pizza.PizzaCrust,
         TotalCost = pizza.TotalCost,
         Order = pizza.Order,
         PizzaCrustNavigation = pizza.PizzaCrustNavigation,
         PizzaSizeNavigation = pizza.PizzaSizeNavigation
     });
 }
コード例 #2
0
        public async Task <IActionResult> Create([Bind("OrderId,StoreId,UserId,TotalCost,OrderTimestamp,PizzaType,PizzaSize,PizzaCrust")] Orders orders)
        {
            //PizzasSold newPizza = new PizzasSold();
            PizzaSold newPizza = new PizzaSold();

            if (ModelState.IsValid)
            {
                //ViewData["StoreId"] = new SelectList(_context.Stores, "StoreLocation", "StoreLocation", orders.StoreId);
                //ViewData["UserId"] = new SelectList(_context.Users, "UserId", "UserName", orders.UserId);
                //ViewData["PizzaType"] = new SelectList(_context.PizzasSold, "PresetId", "PresetName", newPizza.PizzaName);
                //ViewData["PizzaSize"] = new SelectList(_context.Sizes, "SizeId", "SizeName", newPizza.PizzaSize);
                //ViewData["PizzaCrust"] = new SelectList(_context.CrustTypes, "CrustId", "CrustName", newPizza.PizzaCrust);

                //newPizza.OrderId = orders.OrderId;

                //orders.PizzasSold.Add(newPizza);
                //orders.TotalCost += newPizza.TotalCost;

                _context.Add(orders);
                _context.Add(Mapper.MapPizzaSold(newPizza));

                //orders.PizzasSold.Add(Mapper.MapPizzaSold(ModelState));

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["StoreId"]    = new SelectList(_context.Stores, "StoreLocation", "StoreLocation", orders.Store.StoreId);
            ViewData["UserId"]     = new SelectList(_context.Users, "UserId", "UserName", orders.UserId);
            ViewData["PizzaType"]  = new SelectList(_context.PizzasSold, "PresetId", "PresetName", newPizza.PizzaName);
            ViewData["PizzaSize"]  = new SelectList(_context.Sizes, "SizeId", "SizeName", newPizza.PizzaSize);
            ViewData["PizzaCrust"] = new SelectList(_context.CrustTypes, "CrustId", "CrustName", newPizza.PizzaCrust);

            //newPizza.Order = orders;
            //newPizza.OrderId = orders.OrderId;

            //orders.PizzasSold.Add(Mapper.MapPizzaSold(newPizza));
            //orders.TotalCost += newPizza.TotalCost;

            return(View(orders));
        }
コード例 #3
0
        public IActionResult CreatePizzaPartial(PizzaSoldViewModel pizza)
        {
            if (ModelState.IsValid)
            {
                var newPizza = new PizzaSold();
                newPizza.PizzaName  = pizza.PizzaName;
                newPizza.PizzaSize  = pizza.PizzaSize;
                newPizza.PizzaCrust = pizza.PizzaCrust;

                ViewData["PizzaName"] = new SelectList(_context.PresetPizzas, "PresetName", "PresetName", newPizza.PizzaName);

                newPizza.TotalCost = CalculateTotalCost(newPizza.PizzaSize, newPizza.PizzaCrust);

                Globals.pizzaList.Add(newPizza);

                return(RedirectToAction(nameof(PizzaAdded)));
            }
            else
            {
                return(View());
            }
        }
コード例 #4
0
        public void CreateOrder()
        {
            if (currentUser != null)
            {
                var crustTypeList = crustRepo.GetCrustTypes();
                var sizeList      = sizeRepo.GetSizes();
                var storeList     = storeRepo.GetStores();
                var presetList    = presetRepo.GetPresetPizzas();

                if (crustTypeList.Any() && presetList.Any() && sizeList.Any() && storeList.Any())
                {
                    int storeChoice = ChooseStoreLocation();

                    if (!CanOrderNow(storeChoice))
                    {
                        Console.WriteLine("Cannot order from the same location twice in 24 hours.");
                        return;
                    }

                    int presetChoice = ChoosePresetPizza();
                    int sizeChoice   = ChooseSize();
                    int crustChoice  = ChooseCrust();

                    //var pizzaName = presetList.ElementAt(presetChoice - 1).PresetName;
                    //var sizeCost = sizeList.ElementAt(sizeChoice - 1).SizeCost;
                    //var crustCost = crustTypeList.ElementAt(crustChoice - 1).CrustCost;

                    var pizzaName = presetRepo.GetPresetPizzas(presetChoice).First().PresetName;
                    var sizeCost  = sizeRepo.GetSizes(sizeChoice).First().SizeCost;
                    var crustCost = crustRepo.GetCrustTypes(crustChoice).First().CrustCost;

                    var newPizza = new PizzaSold
                    {
                        PizzaName  = pizzaName,
                        PizzaSize  = sizeChoice,
                        PizzaCrust = crustChoice,
                        TotalCost  = sizeCost + crustCost
                    };

                    if (newPizza.TotalCost > Globals.MAX_ORDER_COST)
                    {
                        Console.WriteLine($"Your order cannot exceed {Globals.MAX_ORDER_COST}. Please try again.");
                        return;
                    }

                    var newOrder = new Order();

                    newOrder.PizzasSold.Add(Mapper.MapPizzaSold(newPizza));
                    newOrder.UserId    = currentUser.UserId;
                    newOrder.StoreId   = storeChoice;
                    newOrder.TotalCost = newPizza.TotalCost + (newPizza.TotalCost * Globals.SALES_TAX);

                    currentUser.Orders.Add(Mapper.MapOrder(newOrder));
                    userRepo.ModifyUser(currentUser);
                    orderRepo.AddOrder(newOrder);

                    Console.WriteLine("Thank you for ordering!");
                }
                else
                {
                    Console.WriteLine("Something has gone wrong with the data. Please try again later.");
                }
            }
            else
            {
                Console.WriteLine("Please sign in before we take your order");
            }
        }