public async Task <IActionResult> DeclineRequestToJoinGroup(RequestToJoinGroupViewModel viewModel) { var groupId = viewModel.GroupId; var userId = viewModel.UserId; var existingGroupUser = await _context.GroupUsers.FirstOrDefaultAsync(gu => gu.GroupId == groupId && gu.UserId == userId && !gu.Joined); _context.GroupUsers.Remove(existingGroupUser); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Details), new { id = groupId })); }
public async Task <IActionResult> RequestToJoinGroup(RequestToJoinGroupViewModel viewModel) { var user = await GetCurrentUserAsync(); var groupUser = new GroupUser { GroupId = viewModel.GroupId, UserId = user.Id, Joined = false }; _context.GroupUsers.Add(groupUser); await _context.SaveChangesAsync(); var groupSearchText = viewModel.GroupSearchText; return(RedirectToAction(nameof(Index), new { GroupSearchText = groupSearchText })); }