public static EndRoundView MapEndRoundView(GamePlayer dealer, string roundResult) { var view = new EndRoundView(); view.Dealer = Mapper.Map <GamePlayer, GamePlayerEndRoundViewItem>(dealer); view.RoundResult = roundResult; return(view); }
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)); } }
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); }