Beispiel #1
0
        private void ProcessMajorToppingSelection(CalzoneToppingDisplayItem majorSelection)
        {
            if (majorSelection.ListItemIsSelected)
            {
                ThisCalzone.MajorMamaInfo = MajorOrMama.Major;
                ThisCalzone.PopulateDisplayName();  //Updates to show MAJOR
                SelectMajorToppings();
                ThisCalzone.Toppings.AddMajorToppings();
            }
            else
            {
                ThisCalzone.CalzoneType   = CalzoneType.Cheese;
                ThisCalzone.MajorMamaInfo = MajorOrMama.Neither;
                ThisCalzone.PopulateDisplayName();  //Updates to remove MAJOR
                ThisCalzone.Toppings.RemoveToppings(new List <ToppingName>
                {
                    ToppingName.Mushrooms,
                    ToppingName.BlackOlives,
                    ToppingName.GreenPeppers,
                    ToppingName.Onion,
                    ToppingName.Pepperoni,
                    ToppingName.Sausage
                });

                foreach (var toppingSelection in ToppingSelectionsList)
                {
                    if (toppingSelection.ListTopping.ToppingName == ToppingName.Mushrooms ||
                        toppingSelection.ListTopping.ToppingName == ToppingName.GreenPeppers ||
                        toppingSelection.ListTopping.ToppingName == ToppingName.Onion ||
                        toppingSelection.ListTopping.ToppingName == ToppingName.Pepperoni ||
                        toppingSelection.ListTopping.ToppingName == ToppingName.Sausage ||
                        toppingSelection.ListTopping.ToppingName == ToppingName.BlackOlives)
                    {
                        toppingSelection.ListItemIsSelected = false;
                    }
                }
            }
        }
Beispiel #2
0
        public void SelectTopping(int selectionIndex)
        {
            //Can't change ListView directly - must change underlying data.  Get this data by the index.
            CalzoneToppingDisplayItem thisSelection = ToppingSelectionsList[selectionIndex];

            if (!ToppingFooterPageModel.ExtraToppingSelected ||
                (ToppingFooterPageModel.ExtraToppingSelected && !thisSelection.ListItemIsSelected))
            {
                thisSelection.ListItemIsSelected = !thisSelection.ListItemIsSelected;  //toggle topping selection.
            }

            if (thisSelection.ListTopping.ToppingName == ToppingName.Major)
            {
                ProcessMajorToppingSelection(thisSelection);
            }
            else
            {
                thisSelection.ListTopping.ToppingModifier = ToppingFooterPageModel.GetToppingModifierType();

                if (ToppingFooterPageModel.ExtraToppingSelected)
                {
                    if (thisSelection.ListTopping.Count == 0)
                    {
                        thisSelection.ListTopping.Count = 1;
                    }
                    thisSelection.ListTopping.Count++;
                }
                else if (ToppingFooterPageModel.NoToppingSelected)
                {
                    ThisCalzone.Toppings.RemoveTopping(thisSelection.ListTopping.ToppingName);
                }

                if (thisSelection.ListItemIsSelected)
                {
                    if (thisSelection.ListTopping.ToppingName == ToppingName.SteakNCheeseCalzone)
                    {
                        ThisCalzone.ChangeCalzoneToSteakAndCheese();
                        OnChangeHeadingCalzoneName();
                    }
                    if (ToppingFooterPageModel.ExtraToppingSelected &&
                        thisSelection.ListTopping.Count > 1 &&
                        ThisCalzone.Toppings.IsToppingAlreadyAdded(thisSelection.ListTopping.ToppingName))
                    {
                        ThisCalzone.Toppings.UpdateToppingsTotal();
                    }
                    else
                    {
                        thisSelection.ListTopping.SequenceSelected = ThisCalzone.Toppings.CurrentToppings.Count + 1;
                        ThisCalzone.Toppings.AddTopping(thisSelection.ListTopping);
                    }
                }
                else
                {
                    if (thisSelection.ListTopping.ToppingName == ToppingName.SteakNCheeseCalzone)
                    {
                        ThisCalzone.ChangeCalzoneFromSteakToRegular();
                        OnChangeHeadingCalzoneName();
                    }
                    thisSelection.ListTopping.SequenceSelected = 0;
                    thisSelection.ListTopping.ToppingModifier  = ToppingModifierType.None;
                    thisSelection.ListTopping.Count            = 0;
                    ThisCalzone.Toppings.RemoveTopping(thisSelection.ListTopping.ToppingName);
                }

                //Modifier buttons only work if selected before the topping is selected.  At this point,
                //all should be reset back to black/unselected.
                ToppingFooterPageModel.ExtraToppingSelected  = false;
                ToppingFooterPageModel.LiteToppingSelected   = false;
                ToppingFooterPageModel.NoToppingSelected     = false;
                ToppingFooterPageModel.OnSideToppingSelected = false;
            }
        }