internal static TimeSeriesHierarchyOrError DeserializeTimeSeriesHierarchyOrError(JsonElement element) { Optional <TimeSeriesHierarchy> hierarchy = default; Optional <TimeSeriesOperationError> error = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("hierarchy")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } hierarchy = TimeSeriesHierarchy.DeserializeTimeSeriesHierarchy(property.Value); continue; } if (property.NameEquals("error")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } error = TimeSeriesOperationError.DeserializeTimeSeriesOperationError(property.Value); continue; } } return(new TimeSeriesHierarchyOrError(hierarchy.Value, error.Value)); }
internal static TimeSeriesTypeOperationResult DeserializeTimeSeriesTypeOperationResult(JsonElement element) { Optional <TimeSeriesType> timeSeriesType = default; Optional <TimeSeriesOperationError> error = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("timeSeriesType")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } timeSeriesType = TimeSeriesType.DeserializeTimeSeriesType(property.Value); continue; } if (property.NameEquals("error")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } error = TimeSeriesOperationError.DeserializeTimeSeriesOperationError(property.Value); continue; } } return(new TimeSeriesTypeOperationResult(timeSeriesType.Value, error.Value)); }
// The purpose of overriding this method is to protect against an InvalidOperationException // that is being thrown by the generated code. More specifically, the exception is being thrown // when trying to deserialize the "delete" property. A coversation has started with the Time Series // Insights team on take a closer look on the thrown exception. internal static HierarchiesBatchResponse DeserializeHierarchiesBatchResponse(JsonElement element) { Optional <IReadOnlyList <TimeSeriesHierarchyOperationResult> > @get = default; Optional <IReadOnlyList <TimeSeriesHierarchyOperationResult> > put = default; Optional <IReadOnlyList <TimeSeriesOperationError> > delete = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("get")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <TimeSeriesHierarchyOperationResult> array = new List <TimeSeriesHierarchyOperationResult>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(TimeSeriesHierarchyOperationResult.DeserializeTimeSeriesHierarchyOperationResult(item)); } @get = array; continue; } if (property.NameEquals("put")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <TimeSeriesHierarchyOperationResult> array = new List <TimeSeriesHierarchyOperationResult>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(TimeSeriesHierarchyOperationResult.DeserializeTimeSeriesHierarchyOperationResult(item)); } put = array; continue; } if (property.NameEquals("delete")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <TimeSeriesOperationError> array = new List <TimeSeriesOperationError>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.ValueKind != JsonValueKind.Null ? TimeSeriesOperationError.DeserializeTimeSeriesOperationError(item) : null); } delete = array; continue; } } return(new HierarchiesBatchResponse(Optional.ToList(@get), Optional.ToList(put), Optional.ToList(delete))); }