public async Task <IEnumerable <RunescapeClient> > Handle(GetRunningClientsQuery request, CancellationToken cancellationToken) { var tags = await _redis.GetSet($"{request.UserId}_running_client"); if (tags.Count == 0) { return(new List <RunescapeClient>()); } var keys = tags.Select(w => (RedisKey)$"{w}_client_details").ToArray(); var clients = await _redis.GetDatabase().StringGetAsync(keys); return(clients.Where(w => w.HasValue).Select(w => JsonSerializer.Deserialize <RunescapeClient>(w))); }
public async Task <IEnumerable <RunescapeClient> > Handle(GetRunningClientsQuery request, CancellationToken cancellationToken) { return(await _db.RunningRunescapeClients(request.UserId).ToListAsync(cancellationToken)); }