Esempio n. 1
0
 internal ServiceBusQueueData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, MessageCountDetails countDetails, DateTimeOffset?createdAt, DateTimeOffset?updatedAt, DateTimeOffset?accessedAt, long?sizeInBytes, long?messageCount, TimeSpan?lockDuration, int?maxSizeInMegabytes, long?maxMessageSizeInKilobytes, bool?requiresDuplicateDetection, bool?requiresSession, TimeSpan?defaultMessageTimeToLive, bool?deadLetteringOnMessageExpiration, TimeSpan?duplicateDetectionHistoryTimeWindow, int?maxDeliveryCount, EntityStatus?status, bool?enableBatchedOperations, TimeSpan?autoDeleteOnIdle, bool?enablePartitioning, bool?enableExpress, string forwardTo, string forwardDeadLetteredMessagesTo) : base(id, name, resourceType, systemData)
 {
     CountDetails                        = countDetails;
     CreatedAt                           = createdAt;
     UpdatedAt                           = updatedAt;
     AccessedAt                          = accessedAt;
     SizeInBytes                         = sizeInBytes;
     MessageCount                        = messageCount;
     LockDuration                        = lockDuration;
     MaxSizeInMegabytes                  = maxSizeInMegabytes;
     MaxMessageSizeInKilobytes           = maxMessageSizeInKilobytes;
     RequiresDuplicateDetection          = requiresDuplicateDetection;
     RequiresSession                     = requiresSession;
     DefaultMessageTimeToLive            = defaultMessageTimeToLive;
     DeadLetteringOnMessageExpiration    = deadLetteringOnMessageExpiration;
     DuplicateDetectionHistoryTimeWindow = duplicateDetectionHistoryTimeWindow;
     MaxDeliveryCount                    = maxDeliveryCount;
     Status = status;
     EnableBatchedOperations = enableBatchedOperations;
     AutoDeleteOnIdle        = autoDeleteOnIdle;
     EnablePartitioning      = enablePartitioning;
     EnableExpress           = enableExpress;
     ForwardTo = forwardTo;
     ForwardDeadLetteredMessagesTo = forwardDeadLetteredMessagesTo;
 }
Esempio n. 2
0
        public void GetQMessageCount(/*TopicDescription TopicDesc, SubscriptionDescription SubscriptionDesc*/)
        {
            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();

            textBoxMessageCount.Text = strlabelMessageCount;

            /*
             * Console.WriteLine("Topic: " + SW.TopicDescription.Path);
             * Console.WriteLine("Subscription: " + SW.SubscriptionDescription.Name);
             * Console.WriteLine("Messages Count: " + lngCount);
             * 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);
        }
        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);
        }
 internal ServiceBusTopicData(ResourceIdentifier id, string name, ResourceType type, SystemData systemData, long?sizeInBytes, DateTimeOffset?createdAt, DateTimeOffset?updatedAt, DateTimeOffset?accessedAt, int?subscriptionCount, MessageCountDetails countDetails, TimeSpan?defaultMessageTimeToLive, int?maxSizeInMegabytes, long?maxMessageSizeInKilobytes, bool?requiresDuplicateDetection, TimeSpan?duplicateDetectionHistoryTimeWindow, bool?enableBatchedOperations, EntityStatus?status, bool?supportOrdering, TimeSpan?autoDeleteOnIdle, bool?enablePartitioning, bool?enableExpress) : base(id, name, type, systemData)
 {
     SizeInBytes                         = sizeInBytes;
     CreatedAt                           = createdAt;
     UpdatedAt                           = updatedAt;
     AccessedAt                          = accessedAt;
     SubscriptionCount                   = subscriptionCount;
     CountDetails                        = countDetails;
     DefaultMessageTimeToLive            = defaultMessageTimeToLive;
     MaxSizeInMegabytes                  = maxSizeInMegabytes;
     MaxMessageSizeInKilobytes           = maxMessageSizeInKilobytes;
     RequiresDuplicateDetection          = requiresDuplicateDetection;
     DuplicateDetectionHistoryTimeWindow = duplicateDetectionHistoryTimeWindow;
     EnableBatchedOperations             = enableBatchedOperations;
     Status             = status;
     SupportOrdering    = supportOrdering;
     AutoDeleteOnIdle   = autoDeleteOnIdle;
     EnablePartitioning = enablePartitioning;
     EnableExpress      = enableExpress;
 }
Esempio n. 5
0
 internal ServiceBusSubscriptionData(ResourceIdentifier id, string name, ResourceType type, SystemData systemData, long?messageCount, DateTimeOffset?createdAt, DateTimeOffset?accessedAt, DateTimeOffset?updatedAt, MessageCountDetails countDetails, TimeSpan?lockDuration, bool?requiresSession, TimeSpan?defaultMessageTimeToLive, bool?deadLetteringOnFilterEvaluationExceptions, bool?deadLetteringOnMessageExpiration, TimeSpan?duplicateDetectionHistoryTimeWindow, int?maxDeliveryCount, EntityStatus?status, bool?enableBatchedOperations, TimeSpan?autoDeleteOnIdle, string forwardTo, string forwardDeadLetteredMessagesTo, bool?isClientAffine, ServiceBusClientAffineProperties clientAffineProperties) : base(id, name, type, systemData)
 {
     MessageCount             = messageCount;
     CreatedAt                = createdAt;
     AccessedAt               = accessedAt;
     UpdatedAt                = updatedAt;
     CountDetails             = countDetails;
     LockDuration             = lockDuration;
     RequiresSession          = requiresSession;
     DefaultMessageTimeToLive = defaultMessageTimeToLive;
     DeadLetteringOnFilterEvaluationExceptions = deadLetteringOnFilterEvaluationExceptions;
     DeadLetteringOnMessageExpiration          = deadLetteringOnMessageExpiration;
     DuplicateDetectionHistoryTimeWindow       = duplicateDetectionHistoryTimeWindow;
     MaxDeliveryCount              = maxDeliveryCount;
     Status                        = status;
     EnableBatchedOperations       = enableBatchedOperations;
     AutoDeleteOnIdle              = autoDeleteOnIdle;
     ForwardTo                     = forwardTo;
     ForwardDeadLetteredMessagesTo = forwardDeadLetteredMessagesTo;
     IsClientAffine                = isClientAffine;
     ClientAffineProperties        = clientAffineProperties;
 }
        public void GetQMessageCount()
        {
            long lngCount = namespaceManager.GetSubscription("TestTopic", "AllMessages").MessageCount;

            string strlabelMessageCount = lngCount.ToString();

            MessageCountDetails MsgCD = namespaceManager.GetSubscription("TestTopic", "AllMessages").MessageCountDetails;

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

            string strlabelMaxDeliveryCount = namespaceManager.GetSubscription("TestTopic", "AllMessages").MaxDeliveryCount.ToString();

            String strStatus      = namespaceManager.GetSubscription("TestTopic", "AllMessages").Status.ToString();
            string strlabelStatus = strStatus;

            /*
             * var topics = serviceBusHelper.NamespaceManager.GetTopics(FilterExpressionHelper.TopicFilterExpression);
             * topicListNode.Text = string.IsNullOrWhiteSpace(FilterExpressionHelper.TopicFilterExpression)
             *  ? TopicEntities
             *  : FilteredTopicEntities;
             * topicListNode.Nodes.Clear();
             * if (topics != null)
             * {
             *  foreach (var topic in topics)
             *  {
             *      if (string.IsNullOrWhiteSpace(topic.Path))
             *      {
             *          continue;
             *      }
             *      var entityNode = CreateNode(topic.Path, topic, topicListNode, true);
             *
             *
             *  }*/
        }
        internal static ServiceBusQueueData DeserializeServiceBusQueueData(JsonElement element)
        {
            Optional <SystemData> systemData = default;
            ResourceIdentifier    id         = default;
            string       name = default;
            ResourceType type = default;
            Optional <MessageCountDetails> countDetails                 = default;
            Optional <DateTimeOffset>      createdAt                    = default;
            Optional <DateTimeOffset>      updatedAt                    = default;
            Optional <DateTimeOffset>      accessedAt                   = default;
            Optional <long>         sizeInBytes                         = default;
            Optional <long>         messageCount                        = default;
            Optional <TimeSpan>     lockDuration                        = default;
            Optional <int>          maxSizeInMegabytes                  = default;
            Optional <long>         maxMessageSizeInKilobytes           = default;
            Optional <bool>         requiresDuplicateDetection          = default;
            Optional <bool>         requiresSession                     = default;
            Optional <TimeSpan>     defaultMessageTimeToLive            = default;
            Optional <bool>         deadLetteringOnMessageExpiration    = default;
            Optional <TimeSpan>     duplicateDetectionHistoryTimeWindow = default;
            Optional <int>          maxDeliveryCount                    = default;
            Optional <EntityStatus> status = default;
            Optional <bool>         enableBatchedOperations = default;
            Optional <TimeSpan>     autoDeleteOnIdle        = default;
            Optional <bool>         enablePartitioning      = default;
            Optional <bool>         enableExpress           = default;
            Optional <string>       forwardTo = default;
            Optional <string>       forwardDeadLetteredMessagesTo = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("systemData"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    systemData = JsonSerializer.Deserialize <SystemData>(property.Value.ToString());
                    continue;
                }
                if (property.NameEquals("id"))
                {
                    id = new ResourceIdentifier(property.Value.GetString());
                    continue;
                }
                if (property.NameEquals("name"))
                {
                    name = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("type"))
                {
                    type = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("properties"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    foreach (var property0 in property.Value.EnumerateObject())
                    {
                        if (property0.NameEquals("countDetails"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            countDetails = MessageCountDetails.DeserializeMessageCountDetails(property0.Value);
                            continue;
                        }
                        if (property0.NameEquals("createdAt"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            createdAt = property0.Value.GetDateTimeOffset("O");
                            continue;
                        }
                        if (property0.NameEquals("updatedAt"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            updatedAt = property0.Value.GetDateTimeOffset("O");
                            continue;
                        }
                        if (property0.NameEquals("accessedAt"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            accessedAt = property0.Value.GetDateTimeOffset("O");
                            continue;
                        }
                        if (property0.NameEquals("sizeInBytes"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            sizeInBytes = property0.Value.GetInt64();
                            continue;
                        }
                        if (property0.NameEquals("messageCount"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            messageCount = property0.Value.GetInt64();
                            continue;
                        }
                        if (property0.NameEquals("lockDuration"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            lockDuration = property0.Value.GetTimeSpan("P");
                            continue;
                        }
                        if (property0.NameEquals("maxSizeInMegabytes"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            maxSizeInMegabytes = property0.Value.GetInt32();
                            continue;
                        }
                        if (property0.NameEquals("maxMessageSizeInKilobytes"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            maxMessageSizeInKilobytes = property0.Value.GetInt64();
                            continue;
                        }
                        if (property0.NameEquals("requiresDuplicateDetection"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            requiresDuplicateDetection = property0.Value.GetBoolean();
                            continue;
                        }
                        if (property0.NameEquals("requiresSession"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            requiresSession = property0.Value.GetBoolean();
                            continue;
                        }
                        if (property0.NameEquals("defaultMessageTimeToLive"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            defaultMessageTimeToLive = property0.Value.GetTimeSpan("P");
                            continue;
                        }
                        if (property0.NameEquals("deadLetteringOnMessageExpiration"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            deadLetteringOnMessageExpiration = property0.Value.GetBoolean();
                            continue;
                        }
                        if (property0.NameEquals("duplicateDetectionHistoryTimeWindow"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            duplicateDetectionHistoryTimeWindow = property0.Value.GetTimeSpan("P");
                            continue;
                        }
                        if (property0.NameEquals("maxDeliveryCount"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            maxDeliveryCount = property0.Value.GetInt32();
                            continue;
                        }
                        if (property0.NameEquals("status"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            status = property0.Value.GetString().ToEntityStatus();
                            continue;
                        }
                        if (property0.NameEquals("enableBatchedOperations"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            enableBatchedOperations = property0.Value.GetBoolean();
                            continue;
                        }
                        if (property0.NameEquals("autoDeleteOnIdle"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            autoDeleteOnIdle = property0.Value.GetTimeSpan("P");
                            continue;
                        }
                        if (property0.NameEquals("enablePartitioning"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            enablePartitioning = property0.Value.GetBoolean();
                            continue;
                        }
                        if (property0.NameEquals("enableExpress"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            enableExpress = property0.Value.GetBoolean();
                            continue;
                        }
                        if (property0.NameEquals("forwardTo"))
                        {
                            forwardTo = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("forwardDeadLetteredMessagesTo"))
                        {
                            forwardDeadLetteredMessagesTo = property0.Value.GetString();
                            continue;
                        }
                    }
                    continue;
                }
            }
            return(new ServiceBusQueueData(id, name, type, systemData, countDetails.Value, Optional.ToNullable(createdAt), Optional.ToNullable(updatedAt), Optional.ToNullable(accessedAt), Optional.ToNullable(sizeInBytes), Optional.ToNullable(messageCount), Optional.ToNullable(lockDuration), Optional.ToNullable(maxSizeInMegabytes), Optional.ToNullable(maxMessageSizeInKilobytes), Optional.ToNullable(requiresDuplicateDetection), Optional.ToNullable(requiresSession), Optional.ToNullable(defaultMessageTimeToLive), Optional.ToNullable(deadLetteringOnMessageExpiration), Optional.ToNullable(duplicateDetectionHistoryTimeWindow), Optional.ToNullable(maxDeliveryCount), Optional.ToNullable(status), Optional.ToNullable(enableBatchedOperations), Optional.ToNullable(autoDeleteOnIdle), Optional.ToNullable(enablePartitioning), Optional.ToNullable(enableExpress), forwardTo.Value, forwardDeadLetteredMessagesTo.Value));
        }