public List <PlayerResponse> GetPlayers() { _log.LogInformation($"Get all players"); return(_gameContext.Players .Select(x => PlayerResponse.FromPlayer(x)) .ToList()); }
public List <PlayerResponse> GetPlayers(string gameId) { return(_gameContext.Players .Where(p => p.GameId == gameId) .Select(p => PlayerResponse.FromPlayer(p)) .ToList()); }
public GameStatusResponse GetStatusResponse(string gameId, string playerId) { var status = GetStatus(gameId); if (status == null) { return(null); } var gameStatus = GameStatusResponse.FromStatus(status); gameStatus.IsCurrentChoice = status.ChoosingPlayerId == playerId; gameStatus.RemainingQuestions = RemainingQuestions(gameId); // Return previous choice if (!gameStatus.IsCurrentChoice) { gameStatus.ChoiceA = _playData.GetPreviousChoiceA(); gameStatus.ChoiceB = _playData.GetPreviousChoiceB(); } else if (gameStatus.ChoiceA == null || gameStatus.ChoiceB == null) { // TODO: Something with EF not populating the object, can look at it later var choiceA = _gameContext.Answers.Find(status.ChoiceAId); var choiceB = _gameContext.Answers.Find(status.ChoiceBId); gameStatus.ChoiceA = AnswerResponse.FromAnswer(choiceA); gameStatus.ChoiceB = AnswerResponse.FromAnswer(choiceB); } if (gameStatus.ChoosingPlayer == null) { var player = _gameContext.Players.Find(status.ChoosingPlayerId); if (player != null) { gameStatus.ChoosingPlayer = PlayerResponse.FromPlayer(player); gameStatus.ChoosingPlayer.IsChoosing = true; } } return(gameStatus); }
public PlayerResponse GetPlayer(string playerId) { var player = _gameContext.Players.Find(playerId); return(player == null ? null : PlayerResponse.FromPlayer(player)); }