Пример #1
0
        public void CreateCardOnAccount()
        {
            string accountId     = "GR00000000000688051010";
            var    accountResult = _accountService.GetById(accountId);
            var    account       = accountResult?.Data;

            Assert.NotNull(account);

            var cardOptions = new CreateCardOptions()
            {
                CardType   = Constants.CardType.Debit,
                CardNumber = "4917910043228546"
            };
            var cardResult = _cardService.Create(account.AccountId, cardOptions);

            Assert.True(cardResult.IsSuccessful());
        }
Пример #2
0
        public ApiResult <Card> Register(CreateCardOptions options)
        {
            if (string.IsNullOrWhiteSpace(options.CardNumber))
            {
                return(new ApiResult <Card>()
                {
                    Code = ApiResultCode.BadRequest,
                    ErrorText = "Card Number cannot be empty !"
                });
            }

            var card = new Card()
            {
                CardNumber = options.CardNumber,
                Active     = options.Active,
                CardType   = options.CardType,
                Expiration = options.Expiration
                             //AvailableBalance = options.AvailableBalance,
            };

            try {
                _dbContext.Add <Card>(card);
                _dbContext.SaveChanges();
            }
            catch (Exception ex) {
                return(new ApiResult <Card>()
                {
                    Code = ApiResultCode.InternalServerError,
                    ErrorText = $"Failed to save card. Details: {ex.Message}",
                });
            }

            return(new ApiResult <Card>()
            {
                Code = ApiResultCode.Success,
                ErrorText = "Card saved.",
                Data = card
            });
        }
Пример #3
0
        public ApiResult <Card> Create(string accountId, CreateCardOptions options)
        {
            if (options == null)
            {
                return(ApiResult <Card> .CreateFailed(
                           Constants.ApiResultCode.BadRequest, $"Null {nameof(options)}"));
            }

            var accountResult = _accountService.GetById(accountId);

            if (!accountResult.IsSuccessful())
            {
                return(accountResult.ToResult <Card>());
            }

            var account = accountResult.Data;

            var card = new Card()
            {
                CardNumber = options.CardNumber,
                CardType   = options.CardType,
                Active     = true
            };

            card.Accounts.Add(account);

            _dbContext.Add(card);
            try {
                _dbContext.SaveChanges();
            }
            catch (Exception) {
                return(ApiResult <Card> .CreateFailed(
                           Constants.ApiResultCode.InternalServerError, "Could not save account"));
            }
            return(ApiResult <Card> .CreateSuccessful(card));
        }
Пример #4
0
 public ApiResult <Card> Create(string cardnumber, CreateCardOptions options)
 {
     throw new NotImplementedException();
 }