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" }));
        }
Example #2
0
        public void Can_edit_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));

            var newAccountName = TestDataGenerator.GetRandomString();

            data.AccountName = newAccountName;
            data.Id          = playerBankAccount.Id;

            _playerBankAccountCommands.Edit(data);

            playerBankAccount = _paymentRepository.PlayerBankAccounts.First();

            Assert.That(playerBankAccount, Is.Not.Null);
            Assert.That(playerBankAccount.AccountName, Is.EqualTo(newAccountName));
        }