Exemplo n.º 1
0
        public IActionResult QuitGame([FromBody] GameToFindModel gameToFindModel)
        {
            var  game       = gameDataAccess.GetGame(gameToFindModel.GameID);
            var  user       = userGetter.GetUserFromClaims(HttpContext);
            User gamePlayer = userDataAccess.GetUser(user.UserID);

            if (game.PlayerWhiteID != gamePlayer.ID && game.PlayerBlackID != gamePlayer.ID)
            {
                return(BadRequest(new { message = "Can't quit a game u are not in" }));
            }
            if (game.PlayerWhiteID == gamePlayer.ID)
            {
                gameDataAccess.ChangePlayers(game.ID, null, game.PlayerBlack);
            }
            else if (game.PlayerBlackID == gamePlayer.ID)
            {
                gameDataAccess.ChangePlayers(game.ID, game.PlayerWhite, null);
            }

            GamePresentationModel gameModel = ViewModelMapper.MapGameToPresentation(game);

            return(Ok(gameModel));
        }