public static PartyProject Parse(XElement xml) { if (xml == null || xml.Name != typeof(PartyProject).Name) { throw new ArgumentException(); } var result = new PartyProject(); int count = int.Parse(xml.Attribute(strCount).Value); result.Count = count; XElement leftDishList = xml.Element(strLeftDishes); foreach (var item in leftDishList.Elements(typeof(WeightedDish).Name)) { WeightedDish dish = WeightedDish.Parse(item); result.LeftDishList.Add(dish); } XElement rightDishList = xml.Element(strRightDishes); foreach (var item in rightDishList.Elements(typeof(WeightedDish).Name)) { WeightedDish dish = WeightedDish.Parse(item); result.RightDishList.Add(dish); } return(result); }
public FormUpdateWeightedDish(WeightedDish weightedDish) { InitializeComponent(); this.weightedDish = weightedDish; this.txtName.Text = weightedDish.Dish.Name; this.txtCount.Text = weightedDish.Count.ToString(); }
private void 添加菜品rightDishesToolStripMenuItem_Click(object sender, EventArgs e) { var frmAddDishes = new FormAddDishToProject(); if (frmAddDishes.ShowDialog() == System.Windows.Forms.DialogResult.OK) { var dishes = frmAddDishes.SelectedDishes; foreach (var item in dishes) { var weighted = new WeightedDish(item, 1); this.lstRightDishes.Items.Add(weighted); this.CurrentPartyProject.RightDishList.Add(weighted); } } }
private static void Calculate(Dictionary <string, WeightedIngredient> ingredientDict, WeightedDish weightedDish, int tableCount) { int count = weightedDish.Count; foreach (var weightedIngredient in weightedDish.Dish.WeightedIngredientList) { WeightedIngredient current; if (ingredientDict.TryGetValue(weightedIngredient.Ingredient.Name, out current)) { current.Weight += (tableCount * count * weightedIngredient.Weight); } else { current = new WeightedIngredient() { Ingredient = weightedIngredient.Ingredient, Weight = tableCount * count * weightedIngredient.Weight }; ingredientDict.Add(current.Ingredient.Name, current); } } }