Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 3
0
        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);
                }
            }
        }
Ejemplo n.º 4
0
        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);
                }
            }
        }