void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) { writer.WriteStartObject(); writer.WritePropertyName("stageName"); writer.WriteStringValue(StageName.ToString()); writer.WritePropertyName("sendNotification"); writer.WriteBooleanValue(SendNotification); writer.WriteEndObject(); }
internal static StageDetails DeserializeStageDetails(JsonElement element) { Optional <StageStatus> stageStatus = default; Optional <StageName> stageName = default; Optional <string> displayName = default; Optional <DateTimeOffset> startTime = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("stageStatus")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } stageStatus = new StageStatus(property.Value.GetString()); continue; } if (property.NameEquals("stageName")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } stageName = new StageName(property.Value.GetString()); continue; } if (property.NameEquals("displayName")) { displayName = property.Value.GetString(); continue; } if (property.NameEquals("startTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } startTime = property.Value.GetDateTimeOffset("O"); continue; } } return(new StageDetails(Optional.ToNullable(stageStatus), Optional.ToNullable(stageName), displayName.Value, Optional.ToNullable(startTime))); }