public async Task <IActionResult> ShareWishListView(int id) { var groupsAlreadySharedWith = await _context.Groups .Include(g => g.GroupWishLists) .Where(g => g.GroupWishLists.Any(gwl => gwl.WishListId == id)) .ToListAsync(); var user = await GetCurrentUserAsync(); var wishList = await _context.WishLists .Include(wl => wl.WishListItems) .ThenInclude(wli => wli.Item) .FirstOrDefaultAsync(wl => wl.WishListId == id); var viewModel = new ShareWishListViewModel { WishList = wishList, WishListId = wishList.WishListId, Groups = await _context.Groups .Include(g => g.GroupUsers) .Include(g => g.GroupWishLists) .Where(g => g.GroupUsers.Any(gu => gu.User == user && gu.Joined) && !g.GroupWishLists.Any(gwl => gwl.WishListId == id)) .ToListAsync() }; return(View(viewModel)); }
public async Task <IActionResult> ShareWishList(ShareWishListViewModel viewModel) { var groupWishList = new GroupWishList { WishListId = viewModel.WishListId, GroupId = viewModel.GroupId }; _context.Add(groupWishList); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }