internal static ShortCodeCost DeserializeShortCodeCost(JsonElement element) { double amount = default; string currencyCode = default; BillingFrequency billingFrequency = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("amount")) { amount = property.Value.GetDouble(); continue; } if (property.NameEquals("currencyCode")) { currencyCode = property.Value.GetString(); continue; } if (property.NameEquals("billingFrequency")) { billingFrequency = new BillingFrequency(property.Value.GetString()); continue; } } return(new ShortCodeCost(amount, currencyCode, billingFrequency)); }
public ShortCodeCost(double amount, string currencyCode, BillingFrequency billingFrequency) { if (currencyCode == null) { throw new ArgumentNullException(nameof(currencyCode)); } Amount = amount; CurrencyCode = currencyCode; BillingFrequency = billingFrequency; }
void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) { writer.WriteStartObject(); writer.WritePropertyName("amount"); writer.WriteNumberValue(Amount); writer.WritePropertyName("currencyCode"); writer.WriteStringValue(CurrencyCode); writer.WritePropertyName("billingFrequency"); writer.WriteStringValue(BillingFrequency.ToString()); writer.WriteEndObject(); }