コード例 #1
0
 private void DoEditTemplateRecipe(TemplateRecipe recipe, bool isAdding)
 {
     using (var dlg = new EditRecipeDialog(EditRecipeInfo))
     {
         dlg.ReadFrom(recipe);
         var result = dlg.ShowDialogCustom(this);
         if (result == CustomDialogResult.OK)
         {
             dlg.WriteTo(recipe);
             if (isAdding)
             {
                 templateRecipeBindingSource.Add(recipe);
             }
             else
             {
                 var index = templateRecipeBindingSource.IndexOf(recipe);
                 templateRecipeBindingSource.ResetItem(index);
             }
         }
         else if (result == CustomDialogResult.Delete)
         {
             templateRecipeBindingSource.Remove(recipe);
         }
     }
 }
コード例 #2
0
        public void ReadFrom(TemplateRecipe recipe)
        {
            txtRecipeName.Text = recipe.Name;
            foreach (var item in recipe.Ingredients.Select(i => i.Clone()))
            {
                recipeItemBindingSource.Add(item);
            }

            IsRecipe = (recipe is Recipe);
            nutritionInfoEdit.ReadFrom(recipe);
            lcUseBaseRecipe.ContentVisible = IsRecipe;
        }
コード例 #3
0
 public void WriteTo(TemplateRecipe recipe)
 {
     recipe.Name        = txtRecipeName.Text;
     recipe.Ingredients = recipeItemBindingSource.OfType <RecipeItem>().ToList();
     nutritionInfoEdit.WriteTo(recipe);
 }