public IHttpActionResult SaveBankAccount(EditPlayerBankAccountData model)
        {
            var isExistingBankAccount = model.Id.HasValue;

            VerifyPermission(isExistingBankAccount ? Permissions.Update : Permissions.Create, Modules.PlayerBankAccount);

            if (isExistingBankAccount)
            {
                var editValidationResult = _playerBankAccountCommands.ValidateThatPlayerBankAccountCanBeEdited(model);
                if (!editValidationResult.IsValid)
                {
                    return(Ok(ValidationExceptionResponse(editValidationResult.Errors)));
                }

                _playerBankAccountCommands.Edit(model);
                return(Ok(new { Result = "success" }));
            }

            var validationResult = _playerBankAccountCommands.ValidateThatPlayerBankAccountCanBeAdded(model);

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

            _playerBankAccountCommands.Add(model);
            return(Ok(new { Result = "success" }));
        }
예제 #2
0
        public void Can_create_player_bank_account()
        {
            var data   = CreatePlayerBankAccountData();
            var player = _paymentRepository.Players.First();

            data.PlayerId = player.Id;
            var bank = _paymentRepository.Banks.First();

            data.Bank        = bank.Id;
            data.AccountName = player.GetFullName();
            _playerBankAccountCommands.Add(data);

            var playerBankAccount = _paymentRepository.PlayerBankAccounts.First();

            Assert.That(playerBankAccount, Is.Not.Null);
            Assert.That(playerBankAccount.AccountNumber, Is.EqualTo(data.AccountNumber));
            Assert.That(playerBankAccount.AccountName, Is.EqualTo(data.AccountName));
        }
예제 #3
0
        public PlayerBankAccount CreatePlayerBankAccount(Guid playerId, Guid brandId, bool verify = false)
        {
            var player        = _paymentRepository.Players.Single(x => x.Id == playerId);
            var bankAccountId = _playerBankAccountCommands.Add(new EditPlayerBankAccountData
            {
                Id            = Guid.NewGuid(),
                PlayerId      = playerId,
                Bank          = _paymentRepository.Banks.First(o => o.BrandId == brandId).Id,
                AccountName   = player.GetFullName(),
                AccountNumber = TestDataGenerator.GetRandomString(10, "1234567890"),
                Province      = TestDataGenerator.GetRandomString(7),
                City          = TestDataGenerator.GetRandomString(7),
                Branch        = TestDataGenerator.GetRandomString(7),
                SwiftCode     = TestDataGenerator.GetRandomString(7),
                Address       = TestDataGenerator.GetRandomString(7)
            });

            if (verify)
            {
                VerifyPlayerBankAccount(bankAccountId);
            }

            return(_paymentRepository.PlayerBankAccounts.FirstOrDefault(x => x.Id == bankAccountId));
        }