private bool TryAdd() { string name = this.txtName.Text.Trim(); if (string.IsNullOrEmpty(name)) { MessageBox.Show("食材单位名称不能为空!"); return(false); } var unit = new IngredientUnit() { Name = name }; IDictionary <Guid, IngredientUnit> unitDict = IngredientUnit.GetAll(); var result = from item in unitDict.Values where item.Name == unit.Name select item; if (result.Count() > 0) { MessageBox.Show(string.Format("已存在名为【{0}】的食材单位名称!", name), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } unitDict.Add(unit.Id, unit); IngredientUnit.SaveDatabase(typeof(IngredientUnit).Name); return(true); }
void FormNewIngredientUnit_Load(object sender, EventArgs e) { IDictionary <Guid, IngredientUnit> unitDict = IngredientUnit.GetAll(); var list = from item in unitDict.Values select item; foreach (var item in list) { this.lstUnit.Items.Add(item); } }
private void btnDelete_Click(object sender, EventArgs e) { var selectedItem = this.lstUnit.SelectedItem; if (selectedItem != null) { if (MessageBox.Show(string.Format("是否确认删除【{0}】单位名称?(这将同步删除使用此单位名称的食材和使用这些食材的菜品!)", selectedItem), "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { // 删除category var unit = selectedItem as IngredientUnit; IDictionary <Guid, IngredientUnit> categoryDict = IngredientUnit.GetAll(); categoryDict.Remove(unit.Id); // 删除关联到unit的食材ingredient IDictionary <Guid, Ingredient> ingredientDict = Ingredient.GetAll(); var toBeDeletedIngredients = (from item in ingredientDict.Values where item.Unit.Id == unit.Id select item.Id).ToList(); foreach (var id in toBeDeletedIngredients) { ingredientDict.Remove(id); } // 删除关联到食材ingredient的菜品dish IDictionary <Guid, Dish> dishDict = Dish.GetAll(); var toBeDeletedDishes = new List <Dish>(); foreach (var dish in dishDict.Values) { foreach (var weightedIngredient in dish.WeightedIngredientList) { if (toBeDeletedIngredients.Contains(weightedIngredient.Ingredient.Id)) { toBeDeletedDishes.Add(dish); break; } } } foreach (var dish in toBeDeletedDishes) { dishDict.Remove(dish.Id); } IngredientUnit.SaveDatabase(typeof(IngredientUnit).Name); Ingredient.SaveDatabase(typeof(Ingredient).Name); Dish.SaveDatabase(typeof(Dish).Name); this.lstUnit.Items.Remove(selectedItem); MessageBox.Show("已删除此单位名称!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }
private void ReloadIngredientUnit() { this.cmbUnit.Items.Clear(); IDictionary <Guid, IngredientUnit> dict = IngredientUnit.GetAll(); var list = from item in dict.Values select item; foreach (var item in list) { this.cmbUnit.Items.Add(item); } { this.cmbUnit.Items.Add(newOne); } }