/// <summary> /// Adds extra ingredients to a pizza, if the limit on extra ingredients have not been reached. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Extra_Ingredients_SelectionChanged(object sender, SelectionChangedEventArgs e) { int index = Extra_Ingredients.SelectedIndex; Extra_Ingredients.SelectedIndex = index; string text = Extra_Ingredients.SelectedValue.ToString(); extraIngredients.TryGetValue(text, out float value); if (currentPizza != null && index != 0) { bool exist = ExistAlreadyInDictionary(ingredientsSelected, text); if (currentAmountOfIngredients < maxIngredients && !exist) { ingredientsSelected.Add(text, value); currentAmountOfIngredients++; currentPizza.AddIngredients(text, value); } } else if (currentPizza != null && index == 0) { foreach (string ingredient in ingredientsSelected.Keys) { currentPizza.RemoveIngredient(ingredient); } ingredientsSelected = new Dictionary <string, float>(); currentAmountOfIngredients = 0; } }