public async Task <IActionResult> ClaimTeam([FromBody] int teamId) { if (_userManager.Users.Any(u => u.TeamId == teamId)) { return(BadRequest("Team is already claimed")); } var user = await _userManager.GetAppUser(HttpContext.User); if (await _userManager.IsInRoleAsync(user, "TeamManager")) { _dispatcher.Dispatch(new TeamUnClaimedEvent(user.TeamId)); } else { await _userManager.AddToRoleAsync(user, "TeamManager"); _timerService.AddTeamManager(user.Id); } user.TeamId = teamId; await _userManager.UpdateAsync(user); _dispatcher.Dispatch(new TeamClaimedEvent(teamId)); return(Ok()); }