Beispiel #1
0
        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);
        }