Ejemplo n.º 1
0
        public void SelectTopping(int selectionIndex)
        {
            SaladToppingDisplayItem thisSelection = SaladToppingSelectionsList[selectionIndex];

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

            thisSelection.SaladTopping.ToppingModifier = ToppingFooterPageModel.GetToppingModifierType();
            if (thisSelection.SaladTopping.ToppingModifier == ToppingModifierType.ExtraTopping)
            {
                if (thisSelection.SaladTopping.Count == 0)
                {
                    thisSelection.SaladTopping.Count = 1;
                }
                thisSelection.SaladTopping.Count++;
            }
            else if (thisSelection.SaladTopping.ToppingModifier == ToppingModifierType.NoTopping)
            {
                CurrentSalad.Toppings.RemoveTopping(thisSelection.SaladTopping.ToppingName);
            }

            if (thisSelection.SaladToppingIsSelected)
            {
                if (ToppingFooterPageModel.ExtraToppingSelected &&
                    thisSelection.SaladTopping.Count > 1 &&
                    CurrentSalad.Toppings.IsToppingAlreadyAdded(thisSelection.SaladTopping.ToppingName))
                {
                    CurrentSalad.Toppings.UpdateToppingsTotal();
                    //CurrentSalad.UpdateItemTotal();
                }
                else
                {
                    thisSelection.SaladTopping.SequenceSelected = CurrentSalad.Toppings.CurrentToppings.Count + 1;
                    CurrentSalad.Toppings.AddTopping(thisSelection.SaladTopping);
                    //CurrentSalad.UpdateItemTotal();
                }
            }
            else
            {
                thisSelection.SaladTopping.SequenceSelected = 0;
                thisSelection.SaladTopping.ToppingModifier  = ToppingModifierType.None;
                thisSelection.SaladTopping.Count            = 0;
                CurrentSalad.Toppings.RemoveTopping(thisSelection.SaladTopping.ToppingName);
                //CurrentSalad.UpdateItemTotal();
            }

            //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;
        }
Ejemplo n.º 2
0
        private void LoadSaladDisplayItems()
        {
            var toppingsList = MenuFood.SaladToppings.Values.ToList();

            SaladToppingSelectionsList = new ObservableCollection <SaladToppingDisplayItem>();
            int toppingSelectionIndex = 0;

            for (int i = 0; i < toppingsList.Count; i++)
            {
                if (!toppingsList[i].ForSalad)
                {
                    continue;
                }
                var toppingSelection = new SaladToppingDisplayItem(this);

                bool toppingAlreadyOnSalad = false;
                if (CurrentSalad != null && CurrentSalad.Toppings != null)
                {
                    foreach (var topping in CurrentSalad.Toppings.CurrentToppings)
                    {
                        if (topping.ToppingName == toppingsList[i].ToppingName)
                        {
                            toppingAlreadyOnSalad                   = true;
                            toppingSelection.SaladTopping           = topping;
                            toppingSelection.SaladToppingIsSelected = true;
                            break;
                        }
                    }
                }
                if (!toppingAlreadyOnSalad)
                {
                    Topping newTopping = toppingsList[i];
                    //Initialize variable items in Topping object:
                    newTopping.ToppingDisplayName = DisplayNames.GetToppingDisplayName(newTopping.ToppingName);
                    newTopping.ToppingModifier    = ToppingModifierType.None;
                    newTopping.ToppingWholeHalf   = ToppingWholeHalf.Whole;
                    newTopping.SequenceSelected   = 0;
                    newTopping.Count = 1;
                    toppingSelection.SaladTopping           = newTopping;
                    toppingSelection.SaladToppingIsSelected = false;
                }

                toppingSelection.SaladSelectionIndex = toppingSelectionIndex;
                toppingSelectionIndex++;

                SaladToppingSelectionsList.Add(toppingSelection);
            }
        }