internal IngredientReferenceEditorViewModel(BindingList <ValueDisplayItem> ingredients, IngredientReferenceViewModel reference) { mIngredients = ingredients; mReference = reference; IngredientID = reference.IngredientID; Amount = reference.Amount.Value; Measurement = reference.Amount.Measurement; mAddIngredientCommand = new DelegateCommand(DoAddIngredient); Commit(); }
public ReduceRecipeItemViewModel(IngredientReferenceViewModel ingredient) { mIngredient = ingredient; mMeasurements = new BindingList <ValueDisplayItem>(); Postfix = string.Format("of {0}", ingredient.Name); var amount = ingredient.Amount; var attr = sMeasurementAttributes[amount.Measurement]; if (attr is OfCategoryAttribute) { Enabled = false; mSelectedItem = new AmountItem(amount); mMeasurements.Add(mSelectedItem); } else { Enabled = true; var baseValue = amount.Value * attr.Factor; var type = attr.GetType(); foreach (var kvp in sMeasurementAttributes) { var measurement = kvp.Key; if (kvp.Value.GetType() == type) { var item = new MeasurementFractionItem(baseValue, measurement, sMeasurementAttributes[measurement]); mMeasurements.Add(item); if (item.Measurement == amount.Measurement) { mSelectedItem = item; } } } } Commit(); }