Esempio n. 1
0
        public static EndRoundView MapEndRoundView(GamePlayer dealer, string roundResult)
        {
            var view = new EndRoundView();

            view.Dealer      = Mapper.Map <GamePlayer, GamePlayerEndRoundViewItem>(dealer);
            view.RoundResult = roundResult;
            return(view);
        }
Esempio n. 2
0
        public async Task <IHttpActionResult> End(long gameId)
        {
            try
            {
                EndRoundView view = await _roundService.End(gameId);

                return(Ok(view));
            }
            catch (Exception exception)
            {
                string message = exception.ToString();
                _logger.Error(message);
                return(BadRequest(GameMessage.GameProcessingError));
            }
        }
Esempio n. 3
0
        public async Task <EndRoundView> End(long gameId)
        {
            List <GamePlayer> players = await _gamePlayerRepository.GetAllByGameId(gameId);

            GamePlayer human  = players.Where(m => m.Player.Type == PlayerType.Human).First();
            GamePlayer dealer = players.Where(m => m.Player.Type == PlayerType.Dealer).First();

            await DistributeEndCardsForDealer(dealer);

            string roundResult = GetRoundResult(human, dealer);
            Game   game        = CustomMapper.MapGame(gameId, roundResult);
            await _gameRepository.Update(game);

            await _historyMessageManager.AddMessagesForRound(players, roundResult, gameId);

            EndRoundView view = CustomMapper.MapEndRoundView(dealer, roundResult);

            return(view);
        }