public IHttpActionResult ChangePaymentLevel(ChangePaymentLevelData command)
        {
            VerifyPermission(Permissions.AssignPaymentLevel, Modules.PlayerManager);

            if (ModelState.IsValid == false)
            {
                return(Ok(ErrorResponse()));
            }

            var request = new ChangePaymentLevelData
            {
                PlayerId       = command.PlayerId,
                PaymentLevelId = command.PaymentLevelId,
                Remarks        = command.Remarks
            };
            var validationResult = _commands.ValidatePlayerPaymentLevelCanBeChanged(request);

            if (validationResult.IsValid == false)
            {
                return(Ok(ValidationExceptionResponse(validationResult.Errors)));
            }

            _commands.ChangePaymentLevel(request);

            return(Ok(new { Result = "success" }));
        }
        public IHttpActionResult ChangePlayersPaymentLevel(ChangePlayersPaymentLevelData command)
        {
            VerifyPermission(Permissions.Update, Modules.PaymentLevelSettings);

            var playerIds   = command.PlayerIds;
            var allRequests = new List <ChangePaymentLevelData>();

            //verify all players
            for (int i = 0; i < playerIds.Length; i++)
            {
                var request = new ChangePaymentLevelData
                {
                    PlayerId       = playerIds[i],
                    PaymentLevelId = command.PaymentLevelId,
                    Remarks        = command.Remarks
                };


                var validationResult = _commands.ValidatePlayerPaymentLevelCanBeChanged(request);
                if (validationResult.IsValid == false)
                {
                    return(Ok(ValidationExceptionResponse(validationResult.Errors)));
                }
                allRequests.Add(request);
            }

            foreach (var request in allRequests)
            {
                _commands.ChangePaymentLevel(request);
            }
            return(Ok(new { Result = "success" }));
        }
示例#3
0
        public void ThenPaymentLevelIsSuccessfullyChanged()
        {
            ScenarioContext.Current.Should().ContainKey("playerId");
            ScenarioContext.Current.Should().ContainKey("paymentLevelId");
            var playerId       = ScenarioContext.Current.Get <Guid>("playerId");
            var paymentLevelId = ScenarioContext.Current.Get <Guid>("paymentLevelId");

            var data = new ChangePaymentLevelData
            {
                PaymentLevelId = paymentLevelId,
                PlayerId       = playerId,
                Remarks        = TestDataGenerator.GetRandomString()
            };

            var result = AdminApiProxy.ChangePaymnetLevelInPlayerManager(data);

            result.Should().NotBeNull();
            result.StatusCode.ShouldBeEquivalentTo(HttpStatusCode.OK);
        }
示例#4
0
 public HttpResponseMessage ChangePaymnetLevelInPlayerManager(ChangePaymentLevelData request)
 {
     return(WebClient.SecurePostAsJson <ChangePaymentLevelData, HttpResponseMessage>(Token, _url + AdminApiRoutes.ChangePaymentLevelInPlayerManager, request));
 }