public async Task <IActionResult> AddToCollection(AddToCollectionViewModel atcvm) { var user = await _userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'."); } var member = await _context.Members.SingleOrDefaultAsync(m => m.User == user); if (member == null) { throw new ApplicationException("Failed to find member"); } CollectionRecipe cr = new CollectionRecipe { CollectionID = atcvm.ChoiceID, RecipeID = atcvm.RecipeID }; _context.Add(cr); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Display), new { id = atcvm.RecipeID })); }
public async Task <IActionResult> AddToCollection(int id) { var user = await _userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'."); } var member = await _context.Members.SingleOrDefaultAsync(m => m.User == user); if (member == null) { throw new ApplicationException("Failed to find member"); } var recipe = await _context.Recipes.SingleOrDefaultAsync(r => r.ID == id); var collections = await _context.Collections.Where(c => c.Owner == member).ToListAsync(); AddToCollectionViewModel atcvm = new AddToCollectionViewModel { Recipe = recipe, Collections = collections }; return(View(atcvm)); }