コード例 #1
0
        public static InitRoundViewModel GetInitRoundViewModel(Game game, List <GamePlayer> players, string isGameOver)
        {
            InitRoundViewModel initRoundViewModel = Mapper.Map <Game, InitRoundViewModel>(game);

            initRoundViewModel.Bots = new List <PlayerItem>();

            foreach (GamePlayer player in players)
            {
                if (player.Player.Type == (int)PlayerType.Dealer)
                {
                    initRoundViewModel.Dealer = Mapper.Map <GamePlayer, PlayerItem>(player);
                }

                if (player.Player.Type == (int)PlayerType.Human)
                {
                    initRoundViewModel.Human = Mapper.Map <GamePlayer, PlayerItem>(player);
                }

                if (player.Player.Type == (int)PlayerType.Bot)
                {
                    PlayerItem bot = Mapper.Map <GamePlayer, PlayerItem>(player);
                    initRoundViewModel.Bots.Add(bot);
                }
            }

            return(initRoundViewModel);
        }
コード例 #2
0
        public async Task <InitRoundViewModel> InitRound(long gameId)
        {
            Game game = await _gameRepository.Get(gameId);

            List <GamePlayer>  players            = (await _gamePlayerRepository.GetAllForInitRound(gameId)).ToList();
            GamePlayer         human              = players.Where(m => m.Player.Type == (int)PlayerType.Human).First();
            GamePlayer         dealer             = players.Where(m => m.Player.Type == (int)PlayerType.Dealer).First();
            string             isGameOver         = IsGameOver(human, dealer);
            InitRoundViewModel initRoundViewModel = CustomMapper.GetInitRoundViewModel(game, players, isGameOver);

            return(initRoundViewModel);
        }
コード例 #3
0
        public async Task <IHttpActionResult> InitRound(long gameId)
        {
            try
            {
                InitRoundViewModel initRoundViewModel = await _startGameService.InitRound(gameId);

                return(Ok(initRoundViewModel));
            }
            catch (Exception ex)
            {
                string message = $"{ex.Source}|{ex.TargetSite}|{ex.StackTrace}|{ex.Message}";
                _logger.Error(message);
                return(BadRequest(GameMessageHelper.GameLoadingError));
            }
        }
コード例 #4
0
        public async Task <ActionResult> InitRound(long gameId)
        {
            try
            {
                InitRoundViewModel initRoundViewModel = await _startService.InitRound(gameId);

                return(View(initRoundViewModel));
            }
            catch (Exception ex)
            {
                string message = $"{ex.Source}|{ex.TargetSite}|{ex.StackTrace}|{ex.Message}";
                _logger.Error(message);
                return(RedirectToAction("Error", new { message = GameMessageHelper.GameLoadingError }));
            }
        }