public IList <QueueWithTopEnqueuedJobsDto> Queues()
        {
            var queuesData = Data.GetEnumeration <JobQueueDto>().ToList();
            var queues     = queuesData.GroupBy(q => q.Queue).ToDictionary(q => q.Key, q => q.Count());

            var query =
                from kvp in queues
                let enqueuedJobIds = QueueApi.GetEnqueuedJobIds(kvp.Key, 0, 5, false)
                                     let counters = QueueApi.GetEnqueuedAndFetchedCount(queuesData, kvp.Key)
                                                    select new QueueWithTopEnqueuedJobsDto
            {
                Name      = kvp.Key,
                Length    = counters.EnqueuedCount,
                Fetched   = counters.FetchedCount,
                FirstJobs = EnqueuedJobs(enqueuedJobIds)
            };

            return(query.ToList());
        }