Exemple #1
0
        internal static SubscriptionsResponse DeserializeSubscriptionsResponse(JsonElement element)
        {
            Optional <IReadOnlyList <Subscription> > subscriptions = default;
            Optional <string> nextLink = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("subscriptions"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    List <Subscription> array = new List <Subscription>();
                    foreach (var item in property.Value.EnumerateArray())
                    {
                        array.Add(Subscription.DeserializeSubscription(item));
                    }
                    subscriptions = array;
                    continue;
                }
                if (property.NameEquals("@nextLink"))
                {
                    nextLink = property.Value.GetString();
                    continue;
                }
            }
            return(new SubscriptionsResponse(Optional.ToList(subscriptions), nextLink.Value));
        }
Exemple #2
0
        internal static ResolvedSubscription DeserializeResolvedSubscription(JsonElement element)
        {
            Optional <Guid>         id = default;
            Optional <string>       subscriptionName = default;
            Optional <string>       offerId          = default;
            Optional <string>       planId           = default;
            Optional <long>         quantity         = default;
            Optional <Subscription> subscription     = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("id"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    id = property.Value.GetGuid();
                    continue;
                }
                if (property.NameEquals("subscriptionName"))
                {
                    subscriptionName = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("offerId"))
                {
                    offerId = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("planId"))
                {
                    planId = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("quantity"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    quantity = property.Value.GetInt64();
                    continue;
                }
                if (property.NameEquals("subscription"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    subscription = Subscription.DeserializeSubscription(property.Value);
                    continue;
                }
            }
            return(new ResolvedSubscription(Optional.ToNullable(id), subscriptionName.Value, offerId.Value, planId.Value, Optional.ToNullable(quantity), subscription.Value));
        }