internal static ExportSummary DeserializeExportSummary(JsonElement element) { ExportFormatType format = default; Optional <Guid> exportId = default; Optional <string> labelingJobId = default; Optional <long> exportedRowCount = default; Optional <DateTimeOffset> startTimeUtc = default; Optional <DateTimeOffset> endTimeUtc = default; Optional <LabelExportState> state = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("format")) { format = new ExportFormatType(property.Value.GetString()); continue; } if (property.NameEquals("exportId")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } exportId = property.Value.GetGuid(); continue; } if (property.NameEquals("labelingJobId")) { labelingJobId = property.Value.GetString(); continue; } if (property.NameEquals("exportedRowCount")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } exportedRowCount = property.Value.GetInt64(); continue; } if (property.NameEquals("startTimeUtc")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } startTimeUtc = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("endTimeUtc")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } endTimeUtc = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("state")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } state = new LabelExportState(property.Value.GetString()); continue; } } return(new ExportSummary(format, Optional.ToNullable(exportId), labelingJobId.Value, Optional.ToNullable(exportedRowCount), Optional.ToNullable(startTimeUtc), Optional.ToNullable(endTimeUtc), Optional.ToNullable(state))); }