public void InvalidCard()
        {
            var request = new CardValidationQueryRequest
            {
                CardNumber = "12345678901234",
                ExpiryDate = "0120230"
            };
            var validationResults = this.Validate(request);

            Assert.AreEqual(validationResults.Errors.Count, 2);
        }
Exemplo n.º 2
0
        public async Task <ValidateResultView> GetValidateCard(string cardNumber, string expiryDate)
        {
            CardValidationQueryRequest request = new CardValidationQueryRequest
            {
                CardNumber = cardNumber, ExpiryDate = expiryDate
            };

            var validateResult = await this.cardValidatorService.CardValidate(request);

            return(validateResult);
        }
Exemplo n.º 3
0
        public async Task <ValidateResultView> CardValidate(CardValidationQueryRequest request)
        {
            //static part
            var validateResult = MetaCardValidator.Validate(request.CardNumber, request.ExpiryDate);

            this.logger.Debug(() => $"Validation result of card: {request.CardNumber} is: {validateResult.CardType}:{validateResult.Result}");

            if (validateResult.Result == ResultEnum.Valid.ToString("G"))
            {
                //database part
                var card = await this.repositoryCardValidation.Get <Card>(x => x.CardNumber == request.CardNumber)
                           .FirstOrDefaultAsync();

                if (card == null)
                {
                    validateResult.Result = ResultEnum.DoesNotExist.ToString("G");
                }
            }

            return(validateResult);
        }
Exemplo n.º 4
0
        public async Task <ValidateResultView> PostValidateCard(CardValidationQueryRequest request)
        {
            var validateResult = await this.cardValidatorService.CardValidate(request);

            return(validateResult);
        }