public async Task <DetailsRoundHistoryView> GetRoundsDetailsByRoundId(int roundId)
        {
            Round round = await _roundRepository.Get(roundId);

            Game game = await _gameRepository.Get(round.GameId);

            Player player = await _playerRepository.Get(game.PlayerId);

            Player dealer = await _playerRepository.GetFirstPlayerByRole(PlayerRole.Dealer);

            List <Player> bots = await _playerRepository.GetQuantityByRole(game.PlayersAmount - 1, (int)PlayerRole.Bot);

            var players = new List <Player>();

            players.Add(player);
            players.Add(dealer);
            players.AddRange(bots);

            List <PlayerRoundHand> hands = await _playerRoundHandRepository.GetPLayerRoundHandListByRoundId(round.Id);

            var playerRoundHandId = new List <long>();

            foreach (var hand in hands)
            {
                playerRoundHandId.Add(hand.Id);
            }

            List <Card> cards = await _cardRepository.GetPlayerRoundHandCards(playerRoundHandId);

            var data = new DetailsRoundHistoryView();

            data.Players = _maping.MapPlayersToPlayerDetailsRoundHistoryViewItem(players, hands, cards);
            return(data);
        }
Exemplo n.º 2
0
        public async Task <DetailsRoundHistoryView> GetRoundsDetailsByRoundId(int roundId)
        {
            try
            {
                DetailsRoundHistoryView model = await _historyService.GetRoundsDetailsByRoundId(roundId);

                return(model);
            }
            catch (Exception ex)
            {
                logger.Error(ex.ToString());
                throw;
            }
        }