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)); }
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)); }