Example #1
0
        public JoinNextHandResult JoinNextHand(JoinNextHandRequest request)
        {
            var result = new JoinNextHandResult();

            try
            {
                var player = _cache.RefreshAndGet(
                    Players,
                    request.Player,
                    new PlayerNotFoundException(string.Format("Cannot find player id: {0}, please exit and re-enter the room.", request.Player))
                    );

                var user = _cache.RefreshAndGet(
                    Users,
                    request.UserName,
                    new UserNotFoundException(string.Format("Cannot find user name: {0}, please login to the server again.", request.UserName))
                    );
                UserManager.SecurityCheck(request.SecurityKey, user);

                user.JoinNextHand(player, request.SeatIndex, request.BuyIn);
                result.UserBank = user.UserBank.Money;
                result.Wallet   = player.Wallet.AmountOfMoney;
                result.Success  = true;
            }
            catch (PokerException e)
            {
                result.Success      = false;
                result.ErrorMessage = e.Message;
                Logger.Error(e, this);
            }
            return(result);
        }
        public void JoinNextHandTest()
        {
            //Arrange
            var room   = default(Room);
            var player = default(Player);

            room = _user.CreateNewRoom(_level, _config, out player);

            JoinNextHandRequest request = new JoinNextHandRequest()
            {
                BuyIn       = room.Preferences.BuyInCost,
                Player      = player.GetHashCode(),
                SeatIndex   = 1,
                UserName    = _user.UserName,
                SecurityKey = _securityKey,
            };

            //Act
            var act = _ctrl.JoinNextHand(request);
            JoinNextHandResult actContent;
            var hasContent = act.TryGetContentValue(out actContent);

            //Assert
            TestContext.WriteLine("error message: '{0}'", (actContent != null && actContent.ErrorMessage != "") ? actContent.ErrorMessage : "null");
            Assert.AreEqual(HttpStatusCode.OK, act.StatusCode, "status code");
            Assert.IsTrue(hasContent, "has contact");
            Assert.AreEqual("", actContent.ErrorMessage, "error message");
            Assert.AreEqual(true, actContent.Success, "success");
        }
Example #3
0
        public HttpResponseMessage JoinNextHand(JoinNextHandRequest request)
        {
            var result = new JoinNextHandResult();

            try
            {
                result = service.JoinNextHand(request);
            }
            catch (Exception e)
            {
                result.ErrorMessage = e.Message;
                result.Success      = false;
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, result));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }