internal static MetricBoundaryCondition DeserializeMetricBoundaryCondition(JsonElement element) { Optional <double> lower = default; Optional <double> upper = default; BoundaryDirection direction = default; Optional <string> metricId = default; Optional <bool> triggerForMissing = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("lower")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } lower = property.Value.GetDouble(); continue; } if (property.NameEquals("upper")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } upper = property.Value.GetDouble(); continue; } if (property.NameEquals("direction")) { direction = new BoundaryDirection(property.Value.GetString()); continue; } if (property.NameEquals("metricId")) { metricId = property.Value.GetString(); continue; } if (property.NameEquals("triggerForMissing")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } triggerForMissing = property.Value.GetBoolean(); continue; } } return(new MetricBoundaryCondition(Optional.ToNullable(lower), Optional.ToNullable(upper), direction, metricId.Value, Optional.ToNullable(triggerForMissing))); }
/// <summary> /// Initializes a new instance of the <see cref="MetricBoundaryCondition"/> class. /// </summary> /// <param name="direction">The direction of the specified boundaries. Depending on its value, <see cref="LowerBound"/> and/or <see cref="UpperBound"/> may be required.</param> public MetricBoundaryCondition(BoundaryDirection direction) { Direction = direction; }