public void SelectMajorToppings(ToppingWholeHalf toppingWholeHalf = ToppingWholeHalf.Whole) { foreach (var toppingselection in ToppingSelectionsList) { if (toppingselection.ListTopping.ToppingName == ToppingName.Pepperoni || toppingselection.ListTopping.ToppingName == ToppingName.Mushrooms || toppingselection.ListTopping.ToppingName == ToppingName.Sausage || toppingselection.ListTopping.ToppingName == ToppingName.GreenPeppers || toppingselection.ListTopping.ToppingName == ToppingName.Onion || toppingselection.ListTopping.ToppingName == ToppingName.BlackOlives) { toppingselection.ListItemIsSelected = true; toppingselection.SelectionColor = Xamarin.Forms.Color.CornflowerBlue; if (toppingWholeHalf == ToppingWholeHalf.Whole) { toppingselection.ButtonWSelected = true; } else if (toppingWholeHalf == ToppingWholeHalf.HalfA) { toppingselection.ButtonASelected = true; } else if (toppingWholeHalf == ToppingWholeHalf.HalfB) { toppingselection.ButtonBSelected = true; } } } }
/// <summary> /// Marks the item in the list as being selected if it hasn't /// been selected previously (which will /// higlight the item), changes the item to indicate change to /// whole, half a, or half b, handles the special case of the topping /// called "Half Major", and marks the sequence the item was selected. /// </summary> /// <param name="wholeOrHalf"></param> /// <param name="indexOfSelection"></param> public void SelectButtonWAB(ToppingWholeHalf wholeOrHalf, int indexOfSelection) { var thisItemSelected = ToppingSelectionsList[indexOfSelection]; thisItemSelected.ListTopping.ToppingWholeHalf = wholeOrHalf; if (!thisItemSelected.ListItemIsSelected) //toggle selection { thisItemSelected.SelectionColor = Xamarin.Forms.Color.CornflowerBlue; thisItemSelected.ListItemIsSelected = true; } //The topping may already have been added, but is being changed to half. //If the topping has not already been added, will need to add it (for half). bool toppingAlreadyAdded = false; foreach (Topping topping in thisPizza.Toppings.CurrentToppings) { if (topping.ToppingName == thisItemSelected.ListTopping.ToppingName) { toppingAlreadyAdded = true; break; } } if (toppingAlreadyAdded) { if (thisItemSelected.ListTopping.ToppingName == ToppingName.Major) { thisPizza.Toppings.ChangeMajorToppingsHalf(thisItemSelected.ListTopping.ToppingWholeHalf); } else { thisPizza.Toppings.ChangeToppingToHalf(thisItemSelected.ListTopping.ToppingName, wholeOrHalf); } } else { if (thisItemSelected.ListTopping.ToppingName == ToppingName.Major) { ProcessHalfMajorSelectionOfSide(thisItemSelected); } else { thisItemSelected.ListTopping.SequenceSelected = thisPizza.Toppings.CurrentToppings.Count + 1; thisPizza.Toppings.AddTopping(thisItemSelected.ListTopping); } } ChangeButtonSelection(thisItemSelected, wholeOrHalf); }
public void ChangeToppingDisplayNameHalf(ToppingWholeHalf whichHalf) { if (whichHalf == ToppingWholeHalf.HalfA) { ToppingDisplayName = "Half A - " + ToppingDisplayName; } else if (whichHalf == ToppingWholeHalf.HalfB) { ToppingDisplayName = "Half B - " + ToppingDisplayName; } }
public void ChangeToppingToHalf(ToppingName toppingName, ToppingWholeHalf toppingHalf) { foreach (var topping in CurrentToppings) { if (topping.ToppingName == toppingName) { topping.ToppingWholeHalf = toppingHalf; break; } } UpdateToppingsTotal(); }
public void AddMajorToppingsToHalf(ToppingWholeHalf whichHalf) { var majorToppings = new List <Topping>(); majorToppings.Add(new Topping(ToppingName.Pepperoni, whichHalf)); majorToppings.Add(new Topping(ToppingName.Mushrooms, whichHalf)); majorToppings.Add(new Topping(ToppingName.Sausage, whichHalf)); majorToppings.Add(new Topping(ToppingName.GreenPeppers, whichHalf)); majorToppings.Add(new Topping(ToppingName.Onion, whichHalf));; majorToppings.Add(new Topping(ToppingName.BlackOlives, whichHalf)); AddToppings(majorToppings); }
public void ChangeMajorToppingsHalf(ToppingWholeHalf whichHalf) { foreach (var topping in CurrentToppings) { if (topping.ToppingName == ToppingName.Pepperoni || topping.ToppingName == ToppingName.Mushrooms || topping.ToppingName == ToppingName.Sausage || topping.ToppingName == ToppingName.GreenPeppers || topping.ToppingName == ToppingName.Onion || topping.ToppingName == ToppingName.BlackOlives) { topping.ToppingWholeHalf = whichHalf; } } UpdateToppingsTotal(); }
public void SelectButtonWAB(ToppingWholeHalf wholeOrHalf, int indexOfSelection) { var thisItemSelected = ToppingSelectionsList[indexOfSelection]; thisItemSelected.ListTopping.ToppingWholeHalf = wholeOrHalf; if (thisItemSelected.ListTopping.ToppingName == ToppingName.HalfMajor) { ProcessHalfMajorSelectionOfSide(thisItemSelected); } else { if (!thisItemSelected.ListItemIsSelected) { thisItemSelected.SelectionColor = Xamarin.Forms.Color.CornflowerBlue; thisItemSelected.ListItemIsSelected = true; } //The topping may already have been added, but is being changed to half. //If the topping has not already been added, will need to add it (for half). bool toppingAlreadyAdded = false; foreach (var topping in thisPizza.Toppings.CurrentToppings) { if (topping.ToppingName == thisItemSelected.ListTopping.ToppingName) { toppingAlreadyAdded = true; break; } } if (toppingAlreadyAdded) { //TODO: This may not be needed if done automatically???? thisPizza.Toppings.UpdateToppingsTotal(); } else { thisItemSelected.ListTopping.SequenceSelected = thisPizza.Toppings.CurrentToppings.Count + 1; thisPizza.Toppings.AddTopping(thisItemSelected.ListTopping); } ChangeButtonSelection(thisItemSelected, wholeOrHalf); } //NOTE: Modifying Toppings through private variable instead of //explicitly setting the property (as done below) does not trigger bindings. //Toppings = toppings; }
public Topping(ToppingName toppingName, ToppingWholeHalf toppingWholeHalf = ToppingWholeHalf.Whole) { ToppingName = toppingName; toppingModifier = ToppingModifierType.None; ToppingWholeHalf = toppingWholeHalf; Count = 1; ForPizza = true; ForSalad = false; ForCalzone = true; ForTakeout = false; if (toppingWholeHalf != ToppingWholeHalf.Whole) { ChangeToppingDisplayNameHalf(toppingWholeHalf); } DbItemId = Toppings.GetDbItemId(toppingName); SpecialPricingType = SpecialPricingType.DefaultOneTopping; }
public void ChangeButtonSelection(ToppingSelection thisItemSelected, ToppingWholeHalf wholeOrHalf) { switch (wholeOrHalf) { case ToppingWholeHalf.Whole: thisItemSelected.ButtonWSelected = true; thisItemSelected.ButtonASelected = false; thisItemSelected.ButtonBSelected = false; break; case ToppingWholeHalf.HalfA: thisItemSelected.ButtonASelected = true; thisItemSelected.ButtonBSelected = false; thisItemSelected.ButtonWSelected = false; break; case ToppingWholeHalf.HalfB: thisItemSelected.ButtonBSelected = true; thisItemSelected.ButtonASelected = false; thisItemSelected.ButtonWSelected = false; break; } }
public Topping(ToppingName toppingName, ToppingWholeHalf toppingWholeHalf = ToppingWholeHalf.Whole) { ToppingName = toppingName; ToppingWholeHalf = toppingWholeHalf; ToppingDisplayName = DisplayNames.GetToppingDisplayName(toppingName); }
public override List <GuestModifier> CreateMods() { //if the toppings are just major toppings and designated as major, then //don't add toppings. List <Topping> tempToppings = Toppings.CurrentToppings; bool hasOnion = false; bool hasGreenPeppers = false; bool hasPepperoni = false; bool hasSausage = false; bool hasMushrooms = false; bool hasBlackOlives = false; ToppingWholeHalf onionWholeHalf = ToppingWholeHalf.Whole; ToppingWholeHalf grpepWholeHalf = ToppingWholeHalf.Whole; ToppingWholeHalf pepWholeHalf = ToppingWholeHalf.Whole; ToppingWholeHalf sausWholeHalf = ToppingWholeHalf.Whole; ToppingWholeHalf mushWholeHalf = ToppingWholeHalf.Whole; ToppingWholeHalf blackolWholeHalf = ToppingWholeHalf.Whole; if (MajorMamaInfo == MajorOrMama.Major) { foreach (var topping in Toppings.CurrentToppings) { if (topping.ToppingName == ToppingName.Onion) { hasOnion = true; onionWholeHalf = topping.ToppingWholeHalf; } else if (topping.ToppingName == ToppingName.GreenPeppers) { hasGreenPeppers = true; grpepWholeHalf = topping.ToppingWholeHalf; } else if (topping.ToppingName == ToppingName.Pepperoni) { hasPepperoni = true; pepWholeHalf = topping.ToppingWholeHalf; } else if (topping.ToppingName == ToppingName.Sausage) { hasSausage = true; sausWholeHalf = topping.ToppingWholeHalf; } else if (topping.ToppingName == ToppingName.Mushrooms) { hasMushrooms = true; mushWholeHalf = topping.ToppingWholeHalf; } else if (topping.ToppingName == ToppingName.BlackOlives) { hasBlackOlives = true; blackolWholeHalf = topping.ToppingWholeHalf; } else { tempToppings.Add(topping); } } } List <GuestModifier> mods = DataConversion.GetDbMods(tempToppings); if (MajorMamaInfo == MajorOrMama.Major) { if (!hasOnion) { mods.Add(DataConversion.GetNoMod(new Topping(ToppingName.Onion))); } if (!hasGreenPeppers) { mods.Add(DataConversion.GetNoMod(new Topping(ToppingName.GreenPeppers))); } if (!hasBlackOlives) { mods.Add(DataConversion.GetNoMod(new Topping(ToppingName.BlackOlives))); } if (!hasPepperoni) { mods.Add(DataConversion.GetNoMod(new Topping(ToppingName.Pepperoni))); } if (!hasSausage) { mods.Add(DataConversion.GetNoMod(new Topping(ToppingName.Sausage))); } if (!hasMushrooms) { mods.Add(DataConversion.GetNoMod(new Topping(ToppingName.Mushrooms))); } if (hasOnion && onionWholeHalf != ToppingWholeHalf.Whole) { mods.Add(DataConversion.GetMod(new Topping(ToppingName.Onion, onionWholeHalf))); } if (hasGreenPeppers && grpepWholeHalf != ToppingWholeHalf.Whole) { mods.Add(DataConversion.GetMod(new Topping(ToppingName.GreenPeppers, grpepWholeHalf))); } if (hasBlackOlives && blackolWholeHalf != ToppingWholeHalf.Whole) { mods.Add(DataConversion.GetMod(new Topping(ToppingName.BlackOlives, blackolWholeHalf))); } if (hasMushrooms && mushWholeHalf != ToppingWholeHalf.Whole) { mods.Add(DataConversion.GetMod(new Topping(ToppingName.Mushrooms, mushWholeHalf))); } if (hasPepperoni && pepWholeHalf != ToppingWholeHalf.Whole) { mods.Add(DataConversion.GetMod(new Topping(ToppingName.Pepperoni, pepWholeHalf))); } if (hasSausage && sausWholeHalf != ToppingWholeHalf.Whole) { mods.Add(DataConversion.GetMod(new Topping(ToppingName.Sausage, sausWholeHalf))); } } return(mods); }