public async Task <IActionResult> OnPostQuit() { var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'.")); } var team = _questionDbContext.Teams .Where(t => t.TeamID == user.TeamID) .Include(t => t.Leader) .Include(t => t.TeamMembers) .ThenInclude(tm => tm.TeamMember) .FirstOrDefault(); if (team != null) { var thisUser = _questionDbContext.TeamMembers.Where(e => e.TeamMemberID == user.Id); _questionDbContext.RemoveRange(thisUser); user.TeamID = null; _questionDbContext.Update(user); await _questionDbContext.SaveChangesAsync(); } return(RedirectToPage()); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'.")); } var userAdd = _userManager.Users .Where(e => e.NormalizedUserName == Input.AddMember.Normalize()) .FirstOrDefault(); if (userAdd == null) { ModelState.AddModelError(string.Empty, "No user found with that email"); return(Page()); } if (userAdd.TeamID != null) { ModelState.AddModelError(string.Empty, $"{userAdd.UserName} is already part of a Team"); return(Page()); } var team = _questionDbContext.Teams .Where(e => e.LeaderID == user.Id) .Include(t => t.TeamMembers) .FirstOrDefault(); team.TeamMembers.Add(new TeamMembers(userAdd, team)); userAdd.TeamID = team.TeamID; await _userManager.UpdateAsync(userAdd); _questionDbContext.Update(team); await _questionDbContext.SaveChangesAsync(); StatusMessage = $"{userAdd.UserName} was added to team {team.TeamName}!"; _logger.LogInformation($"{userAdd.UserName} was added to {team.TeamName}."); return(RedirectToPage()); }