internal static ValidateOperationResult DeserializeValidateOperationResult(JsonElement element) { Optional <string> resourceId = default; Optional <string> status = default; Optional <string> linkerName = default; Optional <bool?> isConnectionAvailable = default; Optional <DateTimeOffset?> reportStartTimeUtc = default; Optional <DateTimeOffset?> reportEndTimeUtc = default; Optional <string> sourceId = default; Optional <string> targetId = default; Optional <AuthType?> authType = default; Optional <IReadOnlyList <ValidationResultItem> > validationDetail = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("resourceId")) { if (property.Value.ValueKind == JsonValueKind.Null) { resourceId = null; continue; } resourceId = property.Value.GetString(); continue; } if (property.NameEquals("status")) { if (property.Value.ValueKind == JsonValueKind.Null) { status = null; continue; } status = property.Value.GetString(); continue; } if (property.NameEquals("properties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("linkerName")) { if (property0.Value.ValueKind == JsonValueKind.Null) { linkerName = null; continue; } linkerName = property0.Value.GetString(); continue; } if (property0.NameEquals("isConnectionAvailable")) { if (property0.Value.ValueKind == JsonValueKind.Null) { isConnectionAvailable = null; continue; } isConnectionAvailable = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("reportStartTimeUtc")) { if (property0.Value.ValueKind == JsonValueKind.Null) { reportStartTimeUtc = null; continue; } reportStartTimeUtc = property0.Value.GetDateTimeOffset("O"); continue; } if (property0.NameEquals("reportEndTimeUtc")) { if (property0.Value.ValueKind == JsonValueKind.Null) { reportEndTimeUtc = null; continue; } reportEndTimeUtc = property0.Value.GetDateTimeOffset("O"); continue; } if (property0.NameEquals("sourceId")) { if (property0.Value.ValueKind == JsonValueKind.Null) { sourceId = null; continue; } sourceId = property0.Value.GetString(); continue; } if (property0.NameEquals("targetId")) { if (property0.Value.ValueKind == JsonValueKind.Null) { targetId = null; continue; } targetId = property0.Value.GetString(); continue; } if (property0.NameEquals("authType")) { if (property0.Value.ValueKind == JsonValueKind.Null) { authType = null; continue; } authType = new AuthType(property0.Value.GetString()); continue; } if (property0.NameEquals("validationDetail")) { if (property0.Value.ValueKind == JsonValueKind.Null) { validationDetail = null; continue; } List <ValidationResultItem> array = new List <ValidationResultItem>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(ValidationResultItem.DeserializeValidationResultItem(item)); } validationDetail = array; continue; } } continue; } } return(new ValidateOperationResult(resourceId.Value, status.Value, linkerName.Value, Optional.ToNullable(isConnectionAvailable), Optional.ToNullable(reportStartTimeUtc), Optional.ToNullable(reportEndTimeUtc), sourceId.Value, targetId.Value, Optional.ToNullable(authType), Optional.ToList(validationDetail))); }