public async void CleanExpiredQRToken() { _logger.LogInformation($"{DateTime.Now}: Clean expired QR token started."); var expiredTokens = await _QRcontext.QRTokens.Where(it => it.Expires < DateTime.UtcNow) .ToListAsync(); _logger.LogInformation($"{DateTime.Now}: Find {expiredTokens.Count} token expired."); _QRcontext.RemoveRange(expiredTokens); _QRcontext.SaveChanges(); _logger.LogInformation($"{DateTime.Now}: Clean expired QR token finished."); }
public async Task <QRToken> PermitByToken(string token, int uid) { var item = await _context.QRTokens.FirstOrDefaultAsync(it => it.Token == token); if (item == null || item.Expires < DateTime.UtcNow) { return(null); } item.Status = 1; item.UserId = uid; _context.QRTokens.Update(item); _context.SaveChanges(); return(item); }