コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }