Пример #1
0
 public QueueModel Get(string path, string queueName)
 {
     var queueManager = GetQueueManager(path);
     var queue = new QueueModel { Name = queueName, Path = path };
     foreach (var subQueueName in queueManager.GetSubqueues(queueName))
     {
         var subQueue = new QueueModel { Name = subQueueName };
         queue.AddSubqueue(subQueue);
     }
     return queue;
 }
        public IList<MessageModel> GetMessages(QueueModel queue)
        {
            var path = queue.ParentQueueModel == null ? queue.Path : queue.ParentQueueModel.Path;
            var queueName = queue.ParentQueueModel == null ? queue.Name : queue.ParentQueueModel.Name;
            var subQueueName = queue.ParentQueueModel == null ? null : queue.Name;
            var queueManager = queueManagerCache.Get(path);

            var results = new List<MessageModel>();
            foreach (var message in queueManager.GetAllMessages(queueName, subQueueName))
            {
                results.Add(new MessageModel
                {
                    Data = Encoding.UTF8.GetString(message.Data),
                    Length = message.Data.Length,
                    SentAt = message.SentAt,
                    MessageId = message.Id.ToString(),
                    QueueName = message.Queue,
                    SubQueueName = subQueueName,
                });
            }
            return results;
        }
Пример #3
0
 public IList<MessageModel> GetMessages(QueueModel queue)
 {
     ErrorMessage = null;
     return messageRepository.GetMessages(queue);
 }
Пример #4
0
 public void AddSubqueue(QueueModel queueModel)
 {
     Queues.Add(queueModel);
     queueModel.ParentQueueModel = this;
 }
Пример #5
0
 public void AddQueue(QueueModel queue)
 {
     if(queue == null)
         return;
     Queues.Add(queue);
 }