コード例 #1
0
        public async void ValidateTokenWrongToken(int token)
        {
            TokenValidationEditModel model = new TokenValidationEditModel
            {
                CardId     = 1,
                CustomerId = 1,
                CVV        = 154,
                Token      = token
            };

            var result = await cardService.ValidateToken(model);

            Assert.False(result.Validated);
        }
コード例 #2
0
        public async void TesteInvalidRegistrationDate()
        {
            TokenValidationEditModel model = new TokenValidationEditModel
            {
                CardId     = 2,
                CustomerId = 1,
                CVV        = 541,
                Token      = 4985
            };

            var result = await cardService.ValidateToken(model);

            Assert.False(result.Validated);
        }
コード例 #3
0
        public async void ValidateTokenTrue()
        {
            TokenValidationEditModel model = new TokenValidationEditModel
            {
                CardId     = 1,
                CustomerId = 1,
                CVV        = 154,
                Token      = 9078
            };

            var result = await cardService.ValidateToken(model);

            Assert.True(result.Validated);
        }
コード例 #4
0
        public async Task <TokenValidationViewModel> ValidateToken(TokenValidationEditModel model)
        {
            var tokenValidation = new TokenValidationViewModel();

            var entity = await repository
                         .GetAll()
                         .FirstOrDefaultAsync(o =>
                                              o.Customer.Id == model.CustomerId &&
                                              o.Id == model.CardId);

            if (entity == null)
            {
                return(tokenValidation);
            }

            var token = GenerateToken(entity.Number, entity.CVV);

            tokenValidation.Validated = (entity.TokenRegristrationDate.AddMinutes(30) >= DateTime.Now) &&
                                        (token == model.Token);
            _logger.LogInformation($"Card Number: {entity.Number} Valid: {tokenValidation.Validated}");

            return(tokenValidation);
        }
コード例 #5
0
 public async Task <TokenValidationViewModel> Post(TokenValidationEditModel model)
 {
     return(await service.ValidateToken(model));
 }