public IActionResult JoinGame(int gameId) { //Get current user Id var claimsIdentity = (ClaimsIdentity)this.User.Identity; var userId = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier).Value; //Add user to game GameUser gameUsetToAdd = new GameUser() { ApplicationUserId = userId, GameId = gameId, IsAlive = true }; _unitOfWork.GameUser.Add(gameUsetToAdd); _unitOfWork.Save(); //Populate View Model FindGameTableRowViewModel findGameTableRowVM = new FindGameTableRowViewModel() { Game = _unitOfWork.Game.Get(gameId), TotalRegisteredPlayersForGame = new Dictionary <int, int>(), AlreadyRegisteredGames = _unitOfWork.GameUser.GameRegisteredPerUser(userId) }; findGameTableRowVM.TotalRegisteredPlayersForGame.Add(gameId, _unitOfWork.GameUser.RegisteredPlayers(gameId)); return(PartialView("_FindGameTableRowPartial", findGameTableRowVM)); }
public IActionResult QuitGame(int gameId) { //Get current user Id var claimsIdentity = (ClaimsIdentity)this.User.Identity; var userId = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier).Value; //Get GameUser from db GameUser gameUsetFromDb = _unitOfWork.GameUser.GetFirstOrDefault(c => c.ApplicationUserId == userId && c.GameId == gameId); _unitOfWork.GameUser.Remove(gameUsetFromDb); _unitOfWork.Save(); //Populate View Model FindGameTableRowViewModel findGameTableRowVM = new FindGameTableRowViewModel() { Game = _unitOfWork.Game.Get(gameId), TotalRegisteredPlayersForGame = new Dictionary <int, int>(), AlreadyRegisteredGames = _unitOfWork.GameUser.GameRegisteredPerUser(userId) }; findGameTableRowVM.TotalRegisteredPlayersForGame.Add(gameId, _unitOfWork.GameUser.RegisteredPlayers(gameId)); return(PartialView("_FindGameTableRowPartial", findGameTableRowVM)); }