public IActionResult Step1(int id)
        {
            if (Assets.Session == false)
            {
                return(Redirect("~/Home/Signin"));
            }

            Assets.ShopInfo = _PBrepository.GetStoreById(id);
            var sizes = GetAllSizes();
            var model = new TakeOrderModel();

            model.Sizes = GetSelectListItems(sizes);

            return(View(model));
        }
        public IActionResult Step2(TakeOrderModel model)
        {
            if (Models.Assets.Session == false)
            {
                return(Redirect("~/Home/Signin"));
            }
            if (!computed)
            {
                computed = true;

                Assets.Total_pizzas += model.NumPresets;
                Assets.NumPresets   += model.NumPresets;
                //Assets.Total_pizzas += model.NumCustoms;
                //Assets.Custom_seq += model.NumCustoms.ToString();

                //ADD TO TOTAL COST FOR THIS ORDER
                decimal icost = 0.00m;
                ///for pizza choice
                switch (model.Pizza)
                {
                case "Vegan":
                    switch (model.Size)
                    {
                    case "Small":
                        Assets.Subtotal += (4.00m * model.NumPresets);
                        icost           += (4.00m * model.NumPresets);
                        break;

                    case "Medium":
                        Assets.Subtotal += (8.00m * model.NumPresets);
                        icost           += (8.00m * model.NumPresets);
                        break;

                    case "Large":
                        Assets.Subtotal += (12.00m * model.NumPresets);
                        icost           += (12.00m * model.NumPresets);
                        break;
                    }
                    break;

                case "Pepperoni":
                    switch (model.Size)
                    {
                    case "Small":
                        Assets.Subtotal += (5.00m * model.NumPresets);
                        icost           += (5.00m * model.NumPresets);
                        break;

                    case "Medium":
                        Assets.Subtotal += (10.00m * model.NumPresets);
                        icost           += (10.00m * model.NumPresets);
                        break;

                    case "Large":
                        Assets.Subtotal += (15.00m * model.NumPresets);
                        icost           += (15.00m * model.NumPresets);
                        break;
                    }
                    break;

                case "BBQ Chicken":
                    switch (model.Size)
                    {
                    case "Small":
                        Assets.Subtotal += (6.00m * model.NumPresets);
                        icost           += (6.00m * model.NumPresets);
                        break;

                    case "Medium":
                        Assets.Subtotal += (12.00m * model.NumPresets);
                        icost           += (12.00m * model.NumPresets);
                        break;

                    case "Large":
                        Assets.Subtotal += (18.00m * model.NumPresets);
                        icost           += (18.00m * model.NumPresets);
                        break;
                    }
                    break;

                case "Meatball":
                    switch (model.Size)
                    {
                    case "Small":
                        Assets.Subtotal += (7.00m * model.NumPresets);
                        icost           += (7.00m * model.NumPresets);
                        break;

                    case "Medium":
                        Assets.Subtotal += (14.00m * model.NumPresets);
                        icost           += (14.00m * model.NumPresets);
                        break;

                    case "Large":
                        Assets.Subtotal += (21.00m * model.NumPresets);
                        icost           += (21.00m * model.NumPresets);
                        break;
                    }
                    break;

                case "Supreme":
                    switch (model.Size)
                    {
                    case "Small":
                        Assets.Subtotal += (8.00m * model.NumPresets);
                        icost           += (8.00m * model.NumPresets);
                        break;

                    case "Medium":
                        Assets.Subtotal += (16.00m * model.NumPresets);
                        icost           += (16.00m * model.NumPresets);
                        break;

                    case "Large":
                        Assets.Subtotal += (24.00m * model.NumPresets);
                        icost           += (24.00m * model.NumPresets);
                        break;
                    }
                    break;

                case "Greek":
                    switch (model.Size)
                    {
                    case "Small":
                        Assets.Subtotal += (9.00m * model.NumPresets);
                        icost           += (9.00m * model.NumPresets);
                        break;

                    case "Medium":
                        Assets.Subtotal += (18.00m * model.NumPresets);
                        icost           += (18.00m * model.NumPresets);
                        break;

                    case "Large":
                        Assets.Subtotal += (27.00m * model.NumPresets);
                        icost           += (27.00m * model.NumPresets);
                        break;
                    }
                    break;

                    /*
                     * case "Custom":
                     * switch(model.Size)
                     * {
                     *  case "Small":
                     *      Assets.Order_cost += (3 * model.NumCustoms);
                     *      break;
                     *  case "Medium":
                     *      Assets.Order_cost += (6 * model.NumCustoms);
                     *      break;
                     *  case "Large":
                     *      Assets.Order_cost += (9 * model.NumCustoms);
                     *      break;
                     * }
                     * break;
                     */
                }

                /*
                 * //For toppings
                 * if(model.Toppings.Length > 0)
                 * {
                 *  foreach(var t in model.Toppings)
                 *  {
                 *      switch(t)
                 *      {
                 *          case "Veggies/Fruit":
                 *              Assets.Order_cost += 0.50m;
                 *              break;
                 *          case "Pepperoni":
                 *              Assets.Order_cost += 1;
                 *              break;
                 *          case "Chicken":
                 *              Assets.Order_cost += 1;
                 *              break;
                 *          case "Meatballs":
                 *              Assets.Order_cost += 3;
                 *              break;
                 *      }
                 *  }
                 *
                 * }
                 */

                //VALIDATE ORDER BEFORE ADDING TO SEQUENCE
                PreviewOrderModel OrderItem = new PreviewOrderModel();
                OrderItem.Amount_Pizzas = model.NumPresets;
                OrderItem.Size          = model.Size;
                OrderItem.Crust         = model.Crust;
                OrderItem.Style_Pizza   = model.Pizza;
                OrderItem.Item_Cost     = icost;
                Assets.Tax         = Assets.Subtotal * 0.08m;
                Assets.Order_Total = Assets.Subtotal + Assets.Tax;

                if (Assets.Order_Total > 250.00m || Assets.Total_pizzas > 100)
                {
                    if (Assets.Order_Total > 250.00m && Assets.Total_pizzas > 100)
                    {
                        ViewData["Limit_Exceeded_Message"] = "Our policy only allows us to complete orders up to $250 and up to 100 pizzas at a time.";
                    }
                    else if (Assets.Order_Total > 250.00m)
                    {
                        ViewData["Limit_Exceeded_Message"] = "Our policy only allows us to complete orders up to $250 at a time.";
                    }
                    else if (Assets.Total_pizzas > 100)
                    {
                        ViewData["Limit_Exceeeded_Message"] = "Our policy only allows us to complete orders up to 100 pizzas at a time.";
                    }

                    Assets.Subtotal     -= icost;
                    Assets.Total_pizzas -= OrderItem.Amount_Pizzas;
                    Assets.Tax           = Assets.Subtotal * 0.08m;
                    Assets.Order_Total   = Assets.Subtotal + Assets.Tax;
                    return(View("Message"));
                }

                //APPEND TO SEQUENCE FOR THIS ORDER
                Assets.Preset_seq += OrderItem.Amount_Pizzas.ToString();
                switch (model.Size)
                {
                case "Small":
                    /*
                     * if (model.NumCustoms > 0)
                     *  Assets.Custom_seq += 'S';
                     * else if (model.NumPresets > 0)
                     *  Assets.Preset_seq += 'S';
                     */
                    Assets.Preset_seq += 'S';
                    break;

                case "Medium":
                    /*
                     * if (model.NumCustoms > 0)
                     *  Assets.Custom_seq += 'M';
                     * else if (model.NumPresets > 0)
                     *  Assets.Preset_seq += 'M';
                     */
                    Assets.Preset_seq += 'M';
                    break;

                case "Large":
                    /*
                     * if (model.NumCustoms > 0)
                     *  Assets.Custom_seq += 'L';
                     * else if (model.NumPresets > 0)
                     *  Assets.Preset_seq += 'L';
                     */
                    Assets.Preset_seq += 'L';
                    break;
                }

                switch (model.Crust)
                {
                case "Thick":
                    /*
                     * if (model.NumCustoms > 0)
                     *  Assets.Custom_seq += 'k';
                     * else if (model.NumPresets > 0)
                     *  Assets.Preset_seq += 'k';
                     */
                    Assets.Preset_seq += 'k';
                    break;

                case "Thin":
                    /*
                     * if (model.NumCustoms > 0)
                     *  Assets.Custom_seq += 'n';
                     * else if (model.NumPresets > 0)
                     *  Assets.Preset_seq += 'n';
                     */
                    Assets.Preset_seq += 'n';
                    break;
                }

                Assets.Q.Add(OrderItem);
                computed = false;
            }

            return(View(Assets.Q));
        }