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); } } }
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; }
public void WriteTo(TemplateRecipe recipe) { recipe.Name = txtRecipeName.Text; recipe.Ingredients = recipeItemBindingSource.OfType <RecipeItem>().ToList(); nutritionInfoEdit.WriteTo(recipe); }