public async Task <IActionResult> Edit(int id, [Bind("Title,Description,PrepTime,CookTime,Calories,NumServings,Course,Cuisine,Author,Ingredients_Quantity,Ingredients_Unit,Ingredient,Id,TotalTime")] Recipe recipe) { if (id != recipe.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(recipe); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RecipeExists(recipe.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(recipe)); }
public async Task UpdateImage(EditImageModel model) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); var image = await GetRecipeDisplayImage(model.RecipeId); image.DataUrl = GetImage(model.ImageSearch); context.Update(image); await context.SaveChangesAsync(); }
public async Task UpdateRecipe(int recipeId) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); var recipe = await context.Recipes.SingleOrDefaultAsync(r => r.Id == recipeId); recipe.LastViewed = DateTime.Now; context.Update(recipe); await context.SaveChangesAsync(); }
public async Task ResetIngredientOrderAlphabetically() { using MealPlannerContext context = new MealPlannerContext(_dbOptions); var ingredients = await context.Ingredients.OrderBy(x => x.Name).ToArrayAsync(); for (int i = 0; i < ingredients.Length; i++) { ingredients[i].Order = i + 1; context.Update(ingredients[i]); } await context.SaveChangesAsync(); }
private async Task IncreaseItemOrders(int startOrder, int excludeId) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); var itemsToUpdate = await context.ShoppingListItems .Where(x => x.Order >= startOrder && x.Id != excludeId) .ToListAsync(); foreach (var item in itemsToUpdate) { item.Order++; context.Update(item); } await context.SaveChangesAsync(); }
public async Task Update(Recipe recipe, IFormFile RecipeImage) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); if (RecipeImage != null) { using var stream = new MemoryStream(); RecipeImage.CopyTo(stream); Image recipeImage = new Image() { Data = stream.ToArray() }; recipeImage.RecipeLists.Add(recipe); context.Images.Add(recipeImage); } context.Update(recipe); await context.SaveChangesAsync(); }
public async Task UpdateMealPlan(MealPlan plan) { using (var conn = new SqlConnection(_confg.GetConnectionString("MealPlannerContext"))) conn.Execute("DELETE FROM SideRelationships WHERE MealPlanId = @mealPlanId", new { mealPlanId = plan.Id }); var sides = plan.SideRecipes.ToArray(); for (int i = 0; i < sides.Length; i++) { if (sides[i].RecipeId == 0) { plan.SideRecipes.Remove(sides[i]); } } using MealPlannerContext context = new MealPlannerContext(_dbOptions); context.Update(plan); await context.SaveChangesAsync(); }
public async Task <bool> UpdateShoppingItem(int id, string value) { try { using MealPlannerContext context = new MealPlannerContext(_dbOptions); var item = await context.ShoppingListItems .Where(x => x.Id == id) .SingleOrDefaultAsync(); item.Name = value; context.Update(item); await context.SaveChangesAsync(); return(true); } catch { return(false); } }
public async Task <bool> UpdateOrder(int id, int previousId) { try { using MealPlannerContext context = new MealPlannerContext(_dbOptions); var shoppingItemTask = GetShoppingListItem(id); var previousShoppingItemTask = GetShoppingListItem(previousId); await Task.WhenAll(shoppingItemTask, previousShoppingItemTask); var item = shoppingItemTask.Result; var previousItem = previousShoppingItemTask.Result; item.Order = (previousItem != null ? previousItem.Order : 0) + 1; context.Update(item); await context.SaveChangesAsync(); await IncreaseItemOrders(item.Order, item.Id); return(true); } catch { return(false); } }
public async Task UpdateIngredient(Ingredient ingredient) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); context.Update(ingredient); await context.SaveChangesAsync(); }