public static void RemoveFromShoppingList(this IRecipeBook recipeBook, Recipe recipe) { recipeBook.ShoppingList .Where(sli => sli.RecipeId == recipe.Id) .ToArray() .ForEach(sli => recipeBook.Remove(sli)); }
private DataGridViewRow CreateRow(Recipe recipe) { var row = new DataGridViewRow(); row.Cells.Add(new DataGridViewTextBoxCell { Value = recipe.Name }); row.Cells.Add(new DataGridViewButtonCell { Value = "Delete" }); var isInShoppingList = RecipeBooks.Current.IsInShoppingList(recipe); row.Cells.Add(new DataGridViewTextBoxCell { Value = isInShoppingList ? (from sli in RecipeBooks.Current.ShoppingList where sli.RecipeId == recipe.Id join i in recipe.Ingredients on sli.ItemId equals i.ItemId select sli.Quantity / i.Quantity) .First() : 1 }); row.Cells.Add(new DataGridViewButtonCell { Value = isInShoppingList ? REMOVE_FROM_LIST : ADD_TO_LIST }); row.Cells.Add(new DataGridViewTextBoxCell { Value = recipe.Id }); return row; }
public static bool IsInShoppingList(this IRecipeBook recipeBook, Recipe recipe) { return recipeBook.ShoppingList.Any(sli => sli.RecipeId == recipe.Id); }