private async Task <IEnumerable <ShowGameViewItem> > CreatePlayersInGame(Game game) { var turns = await _turnRepository.GetAllTurns(game.Id); List <long> playersId = turns.Select(p => p.PlayerId).Distinct().ToList(); List <ShowGameViewItem> playersInGame = new List <ShowGameViewItem>(); List <Player> players = await _playerRepository.SearchPlayersWithIds(playersId); if (players == null) { throw new Exception("Player not found"); } foreach (var player in players) { ShowGameViewItem playerInGame = new ShowGameViewItem(); playerInGame.PlayerId = player.Id; playerInGame.PlayerName = player.Name; playerInGame.GameId = game.Id; playerInGame.Cards = GetPlayerCards(player.Id, turns); playerInGame.PlayerType = player.PlayerType; playersInGame.Add(playerInGame); } return(playersInGame); }