internal static StoredProcedureParameter DeserializeStoredProcedureParameter(JsonElement element) { object value = default; StoredProcedureParameterType?type = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("value")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } value = property.Value.GetObject(); continue; } if (property.NameEquals("type")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } type = new StoredProcedureParameterType(property.Value.GetString()); continue; } } return(new StoredProcedureParameter(value, type)); }
internal static StoredProcedureParameter DeserializeStoredProcedureParameter(JsonElement element) { Optional <object> value = default; Optional <StoredProcedureParameterType> type = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("value")) { if (property.Value.ValueKind == JsonValueKind.Null) { value = null; continue; } value = property.Value.GetObject(); continue; } if (property.NameEquals("type")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } type = new StoredProcedureParameterType(property.Value.GetString()); continue; } } return(new StoredProcedureParameter(value.Value, Optional.ToNullable(type))); }