/// <summary> /// Initializes a new instance of the <see cref="FieldValue"/> structure. This constructor /// is intended to be used for mocking only. /// </summary> /// <param name="value">The actual field value.</param> internal FieldValue(FieldValueGender value) : this() { ValueType = FieldValueType.Gender; ValueGender = value; }
/// <summary> /// Initializes a new instance of the <see cref="FieldValue"/> structure. /// </summary> /// <param name="value">The actual field value.</param> /// <returns>A new <see cref="FieldValue"/> instance for mocking.</returns> public static FieldValue FieldValueWithGenderValueType(FieldValueGender value) => new FieldValue(value);
internal static FieldValue_internal DeserializeFieldValue_internal(JsonElement element) { FieldValueType type = default; Optional <string> valueString = default; Optional <DateTimeOffset> valueDate = default; Optional <TimeSpan> valueTime = default; Optional <string> valuePhoneNumber = default; Optional <float> valueNumber = default; Optional <long> valueInteger = default; Optional <IReadOnlyList <FieldValue_internal> > valueArray = default; Optional <IReadOnlyDictionary <string, FieldValue_internal> > valueObject = default; Optional <SelectionMarkState> valueSelectionMark = default; Optional <FieldValueGender> valueGender = default; Optional <string> valueCountry = default; Optional <string> text = default; Optional <IReadOnlyList <float> > boundingBox = default; Optional <float> confidence = default; Optional <IReadOnlyList <string> > elements = default; Optional <int> page = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("type")) { type = property.Value.GetString().ToFieldValueType(); continue; } if (property.NameEquals("valueString")) { valueString = property.Value.GetString(); continue; } if (property.NameEquals("valueDate")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } valueDate = property.Value.GetDateTimeOffset("D"); continue; } if (property.NameEquals("valueTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } valueTime = property.Value.GetTimeSpan("T"); continue; } if (property.NameEquals("valuePhoneNumber")) { valuePhoneNumber = property.Value.GetString(); continue; } if (property.NameEquals("valueNumber")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } valueNumber = property.Value.GetSingle(); continue; } if (property.NameEquals("valueInteger")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } valueInteger = property.Value.GetInt64(); continue; } if (property.NameEquals("valueArray")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <FieldValue_internal> array = new List <FieldValue_internal>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(DeserializeFieldValue_internal(item)); } valueArray = array; continue; } if (property.NameEquals("valueObject")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } Dictionary <string, FieldValue_internal> dictionary = new Dictionary <string, FieldValue_internal>(); foreach (var property0 in property.Value.EnumerateObject()) { if (property0.Value.ValueKind == JsonValueKind.Null) { dictionary.Add(property0.Name, null); } else { dictionary.Add(property0.Name, DeserializeFieldValue_internal(property0.Value)); } } valueObject = dictionary; continue; } if (property.NameEquals("valueSelectionMark")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } valueSelectionMark = property.Value.GetString().ToSelectionMarkState(); continue; } if (property.NameEquals("valueGender")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } valueGender = new FieldValueGender(property.Value.GetString()); continue; } if (property.NameEquals("valueCountry")) { valueCountry = property.Value.GetString(); continue; } if (property.NameEquals("text")) { text = property.Value.GetString(); continue; } if (property.NameEquals("boundingBox")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <float> array = new List <float>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetSingle()); } boundingBox = array; continue; } if (property.NameEquals("confidence")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } confidence = property.Value.GetSingle(); continue; } if (property.NameEquals("elements")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } elements = array; continue; } if (property.NameEquals("page")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } page = property.Value.GetInt32(); continue; } } return(new FieldValue_internal(type, valueString.Value, Optional.ToNullable(valueDate), Optional.ToNullable(valueTime), valuePhoneNumber.Value, Optional.ToNullable(valueNumber), Optional.ToNullable(valueInteger), Optional.ToList(valueArray), Optional.ToDictionary(valueObject), Optional.ToNullable(valueSelectionMark), Optional.ToNullable(valueGender), valueCountry.Value, text.Value, Optional.ToList(boundingBox), Optional.ToNullable(confidence), Optional.ToList(elements), Optional.ToNullable(page))); }