public async Task <ResponseStartGameView> GetStartGameView(long playerId, long sessionId) { (Player player, Player dealer, IEnumerable <Player> bots) = await _gameManager.GetAllGamePlayers(playerId, sessionId); ResponseStartGameView gameView = StartGameViewMapper.GetStartGameView(sessionId, dealer, player, bots); IEnumerable <Card> playerCards = await _gameManager.GetCards(player.Id, sessionId); IEnumerable <Card> dealerCards = await _gameManager.GetCards(dealer.Id, sessionId); int playerScore = await _gameManager.GetHandScore(player.Id, sessionId); int dealerScore = await _gameManager.GetHandScore(dealer.Id, sessionId); gameView.Player.Hand = StartGameViewMapper.GetHandLoadGameViewItem(playerCards, playerScore); gameView.Dealer.Hand = StartGameViewMapper.GetHandLoadGameViewItem(dealerCards, dealerScore); foreach (var bot in gameView.Bots) { IEnumerable <Card> botCards = await _gameManager.GetCards(bot.Id, sessionId); int botScore = await _gameManager.GetHandScore(bot.Id, sessionId); bot.Hand = StartGameViewMapper.GetHandLoadGameViewItem(botCards, botScore); } return(gameView); }
private async Task <ResponseStartGameView> CreateGameView(long playerId, int botsNumber) { Player player = await _playerManager.GetPlayerById(playerId); GameSession session = await _sessionManager.GetNew(); IEnumerable <Player> bots = await _playerManager.GetBots(botsNumber); Player dealer = await _playerManager.GetDealer(); ResponseStartGameView gameView = StartGameViewMapper.GetStartGameView(session.Id, dealer, player, bots); return(gameView); }