public async Task AddIngredient() { NewIngredientDialog dialog = new NewIngredientDialog(); dialog.Title = "Enter Name and Type"; await dialog.ShowAsync(); string name = dialog.TextEntry; IngredientType type = (IngredientType)Enum.Parse(typeof(IngredientType), dialog.SelectedType); Ingredient newIngredient = new Ingredient(name, type); Recipe.AddIngredient(newIngredient); }
public static void AdjustItemWeights(Ingredient sender, double newWeight, ObservableCollection<Ingredient> items ) { double oldWeight = sender.GetExactWeight(); double weightAdjustRatio = newWeight / oldWeight; for (int i = 0; i < items.Count; i++) { Ingredient ingredient = items[i]; double updatedWeight = ingredient.GetExactWeight() * weightAdjustRatio; ingredient.AdjustWeight(updatedWeight); } }
public void AdjustAllWeights(Ingredient sender, double newWeight) { ValueAdjusters.AdjustItemWeights(sender, newWeight, ingredients); totalWeight = ingredients.Sum(i => i.GetExactWeight()); RaisePropertyChanged("TotalWeight"); }
public void DeleteIngredient(Ingredient ingredient) { if (ingredients.Contains(ingredient)) { ingredients.Remove(ingredient); return; } BalancePercentages(); CalculateHydration(); RaisePropertyChanged("Ingredients"); }
private void LinkEvents(Ingredient i) { i.PercentChanged += AdjustItemPercentages; i.WeightChanged += AdjustAllWeights; i.DeleteMe += DeleteIngredient; }
public void AddIngredientWithWeight(Ingredient i) { LinkEvents(i); TotalWeight += i.Weight; Ingredients.Add(i); BalancePercentages(); }
public void AddIngredient(Ingredient i) { i.Percent = 1; LinkEvents(i); Ingredients.Add(i); BalancePercentages(); CalculateHydration(); i.DeleteMe += DeleteIngredient; }
private void AddChildIngredient_Click(object sender, RoutedEventArgs e) { Ingredient newIngredient = new Ingredient("Ingredient", IngredientType.Miscellaneous); AddIngredient(newIngredient); }
public void DeleteChild(Ingredient child) { bool found = false; if (ingredients.Contains(child)) { ingredients.Remove(child); BalancePercentages(); } }
public bool AddIngredient(Ingredient add = null) { if (ingredients == null) ingredients = new ObservableCollection<Ingredient>(); if (add == null)//__create new ingredient with defaults { add = new Ingredient("Ingredient", IngredientType.Miscellaneous); } if (ingredients.Any(i => i.Name == add.Name)) add.Name+="_1"; add.PercentChanged += AdjustIngredientPercentages; add.WeightChanged += WeightChanged; add.UpdateHydration += UpdateHydration; add.DeleteMe += DeleteChild; Ingredients.Add(add); BalancePercentages(); ShowChildren = true; RaisePropertyChanged("Ingredients"); hasChildren = true; return true; }
public static void SetChildWeightsFromPercentage( Ingredient parentIngredient) { var children = parentIngredient.Ingredients; if (children == null) return; double totalWeight = parentIngredient.GetExactWeight(); foreach (var child in children) child.AdjustWeight(child.GetExactPercent() * totalWeight); }