Beispiel #1
0
        public NextColorRoundResponse NextColorRound(NextColorRoundRequest request)
        {
            var player = _playerRepository.Get(request.PlayerId);
            var gameRound = GameRound.CreateNewGameRoundFor(player);
            using(var uow = _unitOfWorkFactory.BeginTransaction())
            {
                player.GameRounds.Add(gameRound);
                _playerRepository.Save(player);
                uow.Commit();
            }

            return new NextColorRoundResponse
            {
                GameRoundId = gameRound.Id,
                Answer = gameRound.Answer,
                Choices = gameRound.GetChoices()
            };
        }
 public JsonResult NextColorRound(NextColorRoundRequest request)
 {
     try
     {
         var response = _colorService.NextColorRound(request);
         var model = _colorModelFactory.CreateNextColorRoundModel(response);
         return JsonResult.CreateSuccess(model);
     }
     catch (Exception ex)
     {
         return JsonResult.CreateFailure(ex.Message, ex);
     }
 }