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 void Can_change_payment_level()
        {
            //setup
            var brand        = _brandTestHelper.CreateBrand();
            var player       = _playerTestHelper.CreatePlayer();
            var paymentLevel = _paymentTestHelper.CreatePaymentLevel(brand.Id, player.CurrencyCode);

            //act
            _playerCommands.ChangePaymentLevel(new ChangePaymentLevelData
            {
                PlayerId       = player.Id,
                PaymentLevelId = paymentLevel.Id,
                Remarks        = "test"
            });

            //assert
            var playerData = _playerRepository.Players.FirstOrDefault(x => x.Id == player.Id);

            playerData.PaymentLevelId.Should().Be(paymentLevel.Id);

            var playerPaymentLevel = _paymentRepository.PlayerPaymentLevels.FirstOrDefault(x => x.PlayerId == player.Id);

            playerPaymentLevel.PaymentLevel.Id.Should().Be(paymentLevel.Id);

            var eventRepository = Container.Resolve <IEventRepository>();

            eventRepository.Events.Where(x => x.DataType == typeof(PlayerPaymentLevelChanged).Name).Should().NotBeEmpty();
        }