public async Task <ResponseLoadGameView> GetLoadGameView(long playerId, long sessionId) { (Player player, Player dealer, IEnumerable <Player> bots) = await _gameManager.GetAllGamePlayers(playerId, sessionId); ResponseLoadGameView gameView = LoadGameViewMapper.GetLoadGameView(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 = LoadGameViewMapper.GetHandLoadGameViewItem(playerCards, playerScore); gameView.Dealer.Hand = LoadGameViewMapper.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 = LoadGameViewMapper.GetHandLoadGameViewItem(botCards, botScore); } return(gameView); }
public async Task <ResponseLoadGameView> Load(long playerId) { GameSession lastSession = await _sessionManager.GetByPlayerId(playerId); ResponseLoadGameView gameView = await _gameViewManager.GetLoadGameView(playerId, lastSession.Id); return(gameView); }
public static ResponseLoadGameView GetLoadGameView(long sessionId, Player dealer, Player player, IEnumerable <Player> bots) { var responseLoadGameView = new ResponseLoadGameView { Player = GetPlayerLoadGameViewItem(player), Dealer = GetDealerLoadGameViewItem(dealer), Bots = GetPlayerLoadGameViewItems(bots), SessionId = sessionId }; return(responseLoadGameView); }
public async Task <IHttpActionResult> Load([FromBody] RequestLoadGameView request) { try { ResponseLoadGameView view = await _service.Load(request.PlayerId); return(Ok(view)); } catch (Exception exception) { Log.Error(exception.ToString()); return(InternalServerError(exception)); } }