public async Task <Ingredient> GetIngredient(int?id) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); return(await context.Ingredients .Include(i => i.Store) .SingleOrDefaultAsync(m => m.Id == id)); }
public async Task Create(Recipe recipe, IFormFile RecipeImage) { recipe.LastViewed = DateTime.Now; Image image = new Image() { DataUrl = GetImage(recipe.Name) }; image.Recipes.Add(recipe); 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.Images.Add(image); context.Add(recipe); await context.SaveChangesAsync(); }
private async Task UpdateAffectedSequences(int order, int excludedId, int stopOrder) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); var affectedQuestionIdsQuery = context.Ingredients .AsNoTracking() .Where(x => x.Id != excludedId); List <Task> tasks = new List <Task>(); if (order < stopOrder) { var affectedQuestionIds = await affectedQuestionIdsQuery .Where(x => x.Order >= order && x.Order <= stopOrder) .Select(x => x.Id).ToListAsync(); foreach (var id in affectedQuestionIds) { tasks.Add(IncrementOrder(id)); } } else { var affectedQuestionIds = await affectedQuestionIdsQuery .Where(x => x.Order <= order && x.Order >= stopOrder) .Select(x => x.Id).ToListAsync(); foreach (var id in affectedQuestionIds) { tasks.Add(DecrementOrder(id)); } } await Task.WhenAll(tasks); }
public async Task <MealGroup> GetMealGroupSimple(int id) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); return(await context.MealGroups .AsNoTracking() .SingleOrDefaultAsync(x => x.Id == id)); }
public async Task <Store> GetStore(int id) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); return(await context.Stores .AsNoTracking() .SingleOrDefaultAsync(x => x.Id == id)); }
public async Task <bool> RecipeExists(int id) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); return(await context.Recipes .AsNoTracking() .AnyAsync(x => x.Id == id)); }
public async Task <Recipe> GetRecipeWithRecipeImage(int recipeId) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); return(await context.Recipes .Include(r => r.RecipeImage) .SingleOrDefaultAsync(r => r.Id == recipeId)); }
public async Task <RecipeCategory> GetRecipeCategory(int id) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); return(await context.RecipeCategories .AsNoTracking() .SingleOrDefaultAsync(x => x.Id == id)); }
public async Task <List <ShoppingListItem> > GetShoppingList() { using MealPlannerContext context = new MealPlannerContext(_dbOptions); return(await context.ShoppingListItems .AsNoTracking() .ToListAsync()); }
public async Task AddMealGroup(int id) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); var plans = await context.MealPlans .AsNoTracking() .Where(x => x.MealGroupId == id) .Include(x => x.SideRecipes) .ToListAsync(); List <Task> tasks = new List <Task>(); foreach (var plan in plans) { var newPlan = new MealPlan { RecipeId = plan.RecipeId }; foreach (var side in plan.SideRecipes) { newPlan.SideRecipes.Add(new SideRelationship { ExcludeFromShoppingList = side.ExcludeFromShoppingList, RecipeId = side.RecipeId }); } tasks.Add(AddMealPlan(newPlan)); } await Task.WhenAll(tasks); }
public async Task <Recipe> GetRecipe(int id) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); return(await context.Recipes .Where(x => x.Id == id) .SingleOrDefaultAsync()); }
public void PopulateCampsDropDownList(MealPlannerContext _context, object selectedCamp = null) { var campsQuery = from c in _context.Camps orderby c.Name select c; CampNameSL = new SelectList(campsQuery.AsNoTracking(), "ID", "Name", selectedCamp); }
public async Task DeleteIngredient(int id) { var ingredient = await GetIngredient(id); using MealPlannerContext context = new MealPlannerContext(_dbOptions); context.Ingredients.Remove(ingredient); await context.SaveChangesAsync(); }
public async Task Delete(int id) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); var recipeCategory = await context.RecipeCategories.SingleOrDefaultAsync(m => m.Id == id); context.RecipeCategories.Remove(recipeCategory); await context.SaveChangesAsync(); }
private async Task <ShoppingListItem> GetShoppingListItem(int id) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); return(await context.ShoppingListItems .AsNoTracking() .Where(x => x.Id == id) .SingleOrDefaultAsync()); }
public void PopulateIngredientCategories(MealPlannerContext _context, object selectedCategory = null) { var categoryQuery = from c in _context.IngredientCategories orderby c.Name select c; IngredientNameSL = new SelectList(categoryQuery, "IngredientCategoryID", "Name", selectedCategory); }
public async Task <List <Store> > GetStoresForSelect() { using MealPlannerContext context = new MealPlannerContext(_dbOptions); return(await context.Stores .AsNoTracking() .OrderBy(x => x.Name) .ToListAsync()); }
public async Task <int> Create(MealGroup group) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); context.MealGroups.Add(group); await context.SaveChangesAsync(); return(group.Id); }
public async Task CreateIngredient(Ingredient ingredient) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); ingredient.Order = await GetMaxOrder() + 1; context.Add(ingredient); await context.SaveChangesAsync(); }
public async Task <List <Recipe> > GetRecipes() { using MealPlannerContext context = new MealPlannerContext(_dbOptions); return(await context.Recipes .AsNoTracking() .OrderBy(x => x.Name) .ToListAsync()); }
public async Task <Recipe> GetRecipeWithImage(int id) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); return(await context.Recipes .Include(r => r.Image) .Include(r => r.RecipeCategory) .SingleOrDefaultAsync(m => m.Id == id)); }
public async Task Delete(int id) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); var store = await context.Stores.SingleOrDefaultAsync(m => m.Id == id); context.Stores.Remove(store); await context.SaveChangesAsync(); }
public async Task <MealGroup> GetMealGroup(int id) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); return(await context.MealGroups .AsNoTracking() .Include(x => x.MealPlans).ThenInclude(x => x.Recipe) .Include(x => x.MealPlans).ThenInclude(x => x.SideRecipes).ThenInclude(x => x.Recipe) .SingleOrDefaultAsync(x => x.Id == id)); }
public async Task UpdateViewedDate(int id) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); var recipe = await context.Recipes.FindAsync(id); recipe.LastViewed = DateTime.Now; context.Recipes.Update(recipe); await context.SaveChangesAsync(); }
public async Task <List <Unit> > GetUnits() { using MealPlannerContext context = new MealPlannerContext(_dbOptions); return(await context.Units .AsNoTracking() .Include(x => x.RecipeDetails) .OrderBy(x => x.Name) .ToListAsync()); }
public async Task <string> GetRecipeName(int id) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); return(await context.Recipes .AsNoTracking() .Where(x => x.Id == id) .Select(x => x.Name) .SingleOrDefaultAsync()); }
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 <int> GetMealGroupIdFromPlan(int id) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); return(await context.MealPlans .AsNoTracking() .Where(x => x.Id == id) .Select(x => x.MealGroupId) .SingleOrDefaultAsync() ?? 0); }
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(); }
private async Task DecrementOrder(int id) { using MealPlannerContext context = new MealPlannerContext(_dbOptions); var ingredient = await context.Ingredients.FindAsync(id); ingredient.Order--; context.Entry(ingredient).State = EntityState.Modified; await context.SaveChangesAsync(); }