public CardControl GetCardByIds(TokenControlContext _context, TokenRequest tokenRequest) { var cardSaved = _context.CardControl.FirstOrDefault(e => (e.Id == tokenRequest.CardId) && (e.CustomerId == tokenRequest.CustomerId)); return(cardSaved); }
public CardControl GetCardDuplication(TokenControlContext _context, CardControl cardControl) { var cardSaved = _context.CardControl.FirstOrDefault(e => (e.Cardnumber == cardControl.Cardnumber) && (e.CustomerId == cardControl.CustomerId) && (e.CVV == cardControl.CVV)); return(cardSaved); }
public CardControlsController(TokenControlContext context) { _context = context; if (_cardControlsService == null) { _cardControlsService = new CardControlsService(); } if (_tokenService == null) { _tokenService = new TokenService(); } }
public Task <bool> ValidateToken(TokenControlContext _context, TokenRequest tokenRequest) { var cardSavedInDataBase = _dataBaseSearchService.GetCardByIds(_context, tokenRequest); if (cardSavedInDataBase == null || !ValidateThirtyMinutesRule(cardSavedInDataBase)) { return(Task.FromResult(false)); } var lastFourDigitsArray = _operationsService.GetLastFourDigitsFromCard(cardSavedInDataBase.Cardnumber); bool result = tokenRequest.Token == GenerateToken(lastFourDigitsArray, tokenRequest.CVV); return(Task.FromResult(result)); }
public async Task <CardControlDTO> ProcessCustomerCard(TokenControlContext _context, CardControl cardControl) { var cardSaved = _dataBaseSearchService.GetCardDuplication(_context, cardControl); cardControl.RegistrationDate = DateTime.UtcNow; if (cardSaved == null) { _context.CardControl.Add(cardControl); } else { _dataBaseSearchService.DetachedTrackerFromRequest(_context, cardSaved); cardControl.Id = cardSaved.Id; _dataBaseSearchService.UpdateCardStateToModified(_context, cardControl); } await _context.SaveChangesAsync(); return(ReturnCardInformation(cardControl)); }
public void UpdateCardStateToModified(TokenControlContext _context, CardControl cardControl) { _context.Entry(cardControl).State = EntityState.Modified; }
public void DetachedTrackerFromRequest(TokenControlContext _context, CardControl cardSaved) { var local = _context.Set <CardControl>().Local.FirstOrDefault(entry => entry.Id.Equals(cardSaved.Id)); _context.Entry(local).State = EntityState.Detached; }