public void GetQMessageCount(TopicDescription TopicDesc, SubscriptionDescription SubscriptionDesc)
        {
            SubscriptionWrapper SW = new SubscriptionWrapper(SubscriptionDesc, TopicDesc);
            long lngCount          = namespaceManager.GetSubscription(TopicDesc.Path, SubscriptionDesc.Name).MessageCount;

            string strlabelMessageCount = lngCount.ToString();

            MessageCountDetails MsgCD = namespaceManager.GetSubscription(TopicDesc.Path, SubscriptionDesc.Name).MessageCountDetails;

            string strLockDuration   = SW.SubscriptionDescription.LockDuration.ToString();
            string strAvilableStatus = SW.SubscriptionDescription.AvailabilityStatus.ToString();
            string strAccessedAt     = SW.SubscriptionDescription.AccessedAt.ToString();

            string strlabelTransferMessageCount   = MsgCD.TransferMessageCount.ToString();
            string strlabelActiveMessageCount     = MsgCD.ActiveMessageCount.ToString();
            string strlabelScheduledMessageCount  = MsgCD.ScheduledMessageCount.ToString();
            string strlabelDeadLetterMessageCount = MsgCD.DeadLetterMessageCount.ToString();

            string strlabelMaxDeliveryCount = namespaceManager.GetSubscription(TopicDesc.Path, SubscriptionDesc.Name).MaxDeliveryCount.ToString();

            String strStatus      = namespaceManager.GetSubscription(TopicDesc.Path, SubscriptionDesc.Name).Status.ToString();
            string strlabelStatus = strStatus;

            tc.TrackEvent("GetQMessageCount");
            tc.TrackMetric("Topic: " + SW.TopicDescription.Path, lngCount);
            tc.TrackMetric(SW.SubscriptionDescription.Name, lngCount);
            //tc.TrackMetric(SW.SubscriptionDescription.Name + "Avilable Status: ", strAvilableStatus);
            tc.TrackMetric("TransferMessageCount", MsgCD.TransferMessageCount);
            tc.TrackMetric("ActiveMessageCount", MsgCD.ActiveMessageCount);
            tc.TrackMetric("ScheduledMessageCount", MsgCD.ScheduledMessageCount);
            tc.TrackMetric("DeadLetterMessageCount", MsgCD.DeadLetterMessageCount);

            lngIndex++;
            Console.WriteLine(lngIndex.ToString() + ".\n");
            Console.WriteLine("Topic: " + SW.TopicDescription.Path);
            Console.WriteLine("Subscription: " + SW.SubscriptionDescription.Name);
            Console.WriteLine("Messages Count: " + lngCount);
            Console.WriteLine("Status: " + strStatus);
            Console.WriteLine("TransferMessageCount:" + MsgCD.TransferMessageCount);
            Console.WriteLine("ActiveMessageCount:" + MsgCD.ActiveMessageCount);
            Console.WriteLine("ScheduledMessageCount:" + MsgCD.ScheduledMessageCount);
            Console.WriteLine("DeadLetterMessageCount:" + MsgCD.DeadLetterMessageCount);
            Console.WriteLine("Lock Duration:" + strLockDuration);
            Console.WriteLine("Avilable Status:" + strAvilableStatus);
            Console.WriteLine("Accessed At:" + strAccessedAt);

            Console.WriteLine("\n");

            GetMessages(true, true, (int)lngCount, SW);
        }
        private void GetMessages(bool peek, bool all, int count, SubscriptionWrapper SW)
        {
            try
            {
                var brokeredMessages = new List <BrokeredMessage>();
                if (peek)
                {
                    var subscriptionClient = serviceBusHelper.MessagingFactory.CreateSubscriptionClient(SW.SubscriptionDescription.TopicPath,
                                                                                                        SW.SubscriptionDescription.Name,
                                                                                                        ReceiveMode.PeekLock);
                    var totalRetrieved = 0;
                    while (totalRetrieved < count)
                    {
                        var messageEnumerable = subscriptionClient.PeekBatch(count);
                        if (messageEnumerable == null)
                        {
                            break;
                        }

                        var messageArray = messageEnumerable as BrokeredMessage[] ?? messageEnumerable.ToArray();
                        var partialList  = new List <BrokeredMessage>(messageArray);

                        brokeredMessages.AddRange(partialList);
                        totalRetrieved += partialList.Count;
                        if (partialList.Count == 0)
                        {
                            break;
                        }
                        else
                        {
                            for (int iIndex = 0; iIndex < partialList.Count; iIndex++)
                            {
                                BrokeredMessage bMsg = partialList[iIndex];
                                TotalMsgBrokerList.Add(bMsg);
                            }
                        }
                    }
                }
            }
            catch (TimeoutException)
            {
                int x = 0;
            }
        }
        private void GetMessages(bool peek, bool all, int count, SubscriptionWrapper SW)
        {
            try
            {
                var brokeredMessages = new List <BrokeredMessage>();
                if (peek)
                {
                    var subscriptionClient = serviceBusHelper.MessagingFactory.CreateSubscriptionClient(SW.SubscriptionDescription.TopicPath,
                                                                                                        SW.SubscriptionDescription.Name,
                                                                                                        ReceiveMode.PeekLock);
                    var totalRetrieved = 0;
                    while (totalRetrieved < count)
                    {
                        var messageEnumerable = subscriptionClient.PeekBatch(count);
                        if (messageEnumerable == null)
                        {
                            break;
                        }

                        IBrokeredMessageInspector messageInspector = null;
                        var messageArray = messageEnumerable as BrokeredMessage[] ?? messageEnumerable.ToArray();
                        var partialList  = new List <BrokeredMessage>(messageArray);

                        brokeredMessages.AddRange(partialList);
                        totalRetrieved += partialList.Count;
                        if (partialList.Count == 0)
                        {
                            break;
                        }
                        else
                        {
                            for (int iIndex = 0; iIndex < partialList.Count; iIndex++)
                            {
                                BrokeredMessage bMsg = partialList[iIndex];
                                int             x    = 0;
                            }
                        }
                    }
                    //writeToLog(string.Format(MessagesPeekedFromTheSubscription, brokeredMessages.Count, subscriptionWrapper.SubscriptionDescription.Name));
                }
                else
                {
                    MessageReceiver messageReceiver;
                    if (SW.SubscriptionDescription.RequiresSession)
                    {
                        var subscriptionClient = serviceBusHelper.MessagingFactory.CreateSubscriptionClient(SW.SubscriptionDescription.TopicPath,
                                                                                                            SW.SubscriptionDescription.Name,
                                                                                                            ReceiveMode.ReceiveAndDelete);
                        //messageReceiver = subscriptionClient.AcceptMessageSession(TimeSpan.FromSeconds(MainForm.SingletonMainForm.ReceiveTimeout));
                    }
                    else
                    {
                        messageReceiver = serviceBusHelper.MessagingFactory.CreateMessageReceiver(SubscriptionClient.FormatSubscriptionPath(
                                                                                                      SW.SubscriptionDescription.TopicPath,
                                                                                                      SW.SubscriptionDescription.Name),
                                                                                                  ReceiveMode.ReceiveAndDelete);
                    }

                    //writeToLog(string.Format(MessagesReceivedFromTheSubscription, brokeredMessages.Count, subscriptionWrapper.SubscriptionDescription.Name));
                }

                if (!peek)
                {
                    /*if (OnRefresh != null)
                     * {
                     *  OnRefresh();
                     * }*/
                }
            }
            catch (TimeoutException)
            {
                /*writeToLog(string.Format(NoMessageReceivedFromTheSubscription,
                 *                       MainForm.SingletonMainForm.ReceiveTimeout,
                 *                       subscriptionWrapper.SubscriptionDescription.Name));*/

                int x = 0;
            }
        }