コード例 #1
0
ファイル: Parameters.cs プロジェクト: microsoft/fhir-codegen
        /// <summary>
        /// Deserialize JSON into a FHIR Parameters
        /// </summary>
        public static void DeserializeJsonProperty(this Parameters current, ref Utf8JsonReader reader, JsonSerializerOptions options, string propertyName)
        {
            switch (propertyName)
            {
            case "parameter":
                if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read()))
                {
                    throw new JsonException($"Parameters error reading 'parameter' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                }

                current.Parameter = new List <Parameters.ParameterComponent>();

                while (reader.TokenType != JsonTokenType.EndArray)
                {
                    Hl7.Fhir.Model.Parameters.ParameterComponent v_Parameter = new Hl7.Fhir.Model.Parameters.ParameterComponent();
                    v_Parameter.DeserializeJson(ref reader, options);
                    current.Parameter.Add(v_Parameter);

                    if (!reader.Read())
                    {
                        throw new JsonException($"Parameters error reading 'parameter' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                    }
                    if (reader.TokenType == JsonTokenType.EndObject)
                    {
                        reader.Read();
                    }
                }

                if (current.Parameter.Count == 0)
                {
                    current.Parameter = null;
                }
                break;

            // Complex: Parameters, Export: Parameters, Base: Resource
            default:
                ((Hl7.Fhir.Model.Resource)current).DeserializeJsonProperty(ref reader, options, propertyName);
                break;
            }
        }
コード例 #2
0
ファイル: Parameters.cs プロジェクト: microsoft/fhir-codegen
        /// <summary>
        /// Deserialize JSON into a FHIR Parameters#Parameter
        /// </summary>
        public static void DeserializeJsonProperty(this Parameters.ParameterComponent current, ref Utf8JsonReader reader, JsonSerializerOptions options, string propertyName)
        {
            switch (propertyName)
            {
            case "name":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.NameElement = new FhirString();
                    reader.Skip();
                }
                else
                {
                    current.NameElement = new FhirString(reader.GetString());
                }
                break;

            case "_name":
                if (current.NameElement == null)
                {
                    current.NameElement = new FhirString();
                }
                ((Hl7.Fhir.Model.Element)current.NameElement).DeserializeJson(ref reader, options);
                break;

            case "valueBase64Binary":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Value = new Base64Binary();
                    reader.Skip();
                }
                else
                {
                    current.Value = new Base64Binary(System.Convert.FromBase64String(reader.GetString()));
                }
                break;

            case "_valueBase64Binary":
                if (current.Value == null)
                {
                    current.Value = new Base64Binary();
                }
                ((Hl7.Fhir.Model.Element)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueBoolean":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Value = new FhirBoolean();
                    reader.Skip();
                }
                else
                {
                    current.Value = new FhirBoolean(reader.GetBoolean());
                }
                break;

            case "_valueBoolean":
                if (current.Value == null)
                {
                    current.Value = new FhirBoolean();
                }
                ((Hl7.Fhir.Model.Element)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueCanonical":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Value = new Canonical();
                    reader.Skip();
                }
                else
                {
                    current.Value = new Canonical(reader.GetString());
                }
                break;

            case "_valueCanonical":
                if (current.Value == null)
                {
                    current.Value = new Canonical();
                }
                ((Hl7.Fhir.Model.Element)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueCode":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Value = new Code();
                    reader.Skip();
                }
                else
                {
                    current.Value = new Code(reader.GetString());
                }
                break;

            case "_valueCode":
                if (current.Value == null)
                {
                    current.Value = new Code();
                }
                ((Hl7.Fhir.Model.Element)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueDate":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Value = new Date();
                    reader.Skip();
                }
                else
                {
                    current.Value = new Date(reader.GetString());
                }
                break;

            case "_valueDate":
                if (current.Value == null)
                {
                    current.Value = new Date();
                }
                ((Hl7.Fhir.Model.Element)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueDateTime":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Value = new FhirDateTime();
                    reader.Skip();
                }
                else
                {
                    current.Value = new FhirDateTime(reader.GetString());
                }
                break;

            case "_valueDateTime":
                if (current.Value == null)
                {
                    current.Value = new FhirDateTime();
                }
                ((Hl7.Fhir.Model.Element)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueDecimal":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Value = new FhirDecimal();
                    reader.Skip();
                }
                else
                {
                    current.Value = new FhirDecimal(reader.GetDecimal());
                }
                break;

            case "_valueDecimal":
                if (current.Value == null)
                {
                    current.Value = new FhirDecimal();
                }
                ((Hl7.Fhir.Model.Element)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueId":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Value = new Id();
                    reader.Skip();
                }
                else
                {
                    current.Value = new Id(reader.GetString());
                }
                break;

            case "_valueId":
                if (current.Value == null)
                {
                    current.Value = new Id();
                }
                ((Hl7.Fhir.Model.Element)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueInstant":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Value = new Instant();
                    reader.Skip();
                }
                else
                {
                    current.Value = new Instant(DateTimeOffset.Parse(reader.GetString()));
                }
                break;

            case "_valueInstant":
                if (current.Value == null)
                {
                    current.Value = new Instant();
                }
                ((Hl7.Fhir.Model.Element)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueInteger":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Value = new Integer();
                    reader.Skip();
                }
                else
                {
                    current.Value = new Integer(reader.GetInt32());
                }
                break;

            case "_valueInteger":
                if (current.Value == null)
                {
                    current.Value = new Integer();
                }
                ((Hl7.Fhir.Model.Element)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueMarkdown":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Value = new Markdown();
                    reader.Skip();
                }
                else
                {
                    current.Value = new Markdown(reader.GetString());
                }
                break;

            case "_valueMarkdown":
                if (current.Value == null)
                {
                    current.Value = new Markdown();
                }
                ((Hl7.Fhir.Model.Element)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueOid":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Value = new Oid();
                    reader.Skip();
                }
                else
                {
                    current.Value = new Oid(reader.GetString());
                }
                break;

            case "_valueOid":
                if (current.Value == null)
                {
                    current.Value = new Oid();
                }
                ((Hl7.Fhir.Model.Element)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valuePositiveInt":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Value = new PositiveInt();
                    reader.Skip();
                }
                else
                {
                    current.Value = new PositiveInt(reader.GetInt32());
                }
                break;

            case "_valuePositiveInt":
                if (current.Value == null)
                {
                    current.Value = new PositiveInt();
                }
                ((Hl7.Fhir.Model.Element)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueString":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Value = new FhirString();
                    reader.Skip();
                }
                else
                {
                    current.Value = new FhirString(reader.GetString());
                }
                break;

            case "_valueString":
                if (current.Value == null)
                {
                    current.Value = new FhirString();
                }
                ((Hl7.Fhir.Model.Element)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueTime":
                current.Value = new Hl7.Fhir.Model.Time();
                ((Hl7.Fhir.Model.Time)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueUnsignedInt":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Value = new UnsignedInt();
                    reader.Skip();
                }
                else
                {
                    current.Value = new UnsignedInt(reader.GetInt32());
                }
                break;

            case "_valueUnsignedInt":
                if (current.Value == null)
                {
                    current.Value = new UnsignedInt();
                }
                ((Hl7.Fhir.Model.Element)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueUri":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Value = new FhirUri();
                    reader.Skip();
                }
                else
                {
                    current.Value = new FhirUri(reader.GetString());
                }
                break;

            case "_valueUri":
                if (current.Value == null)
                {
                    current.Value = new FhirUri();
                }
                ((Hl7.Fhir.Model.Element)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueUrl":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Value = new FhirUrl();
                    reader.Skip();
                }
                else
                {
                    current.Value = new FhirUrl(reader.GetString());
                }
                break;

            case "_valueUrl":
                if (current.Value == null)
                {
                    current.Value = new FhirUrl();
                }
                ((Hl7.Fhir.Model.Element)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueUuid":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Value = new Uuid();
                    reader.Skip();
                }
                else
                {
                    current.Value = new Uuid(reader.GetString());
                }
                break;

            case "_valueUuid":
                if (current.Value == null)
                {
                    current.Value = new Uuid();
                }
                ((Hl7.Fhir.Model.Element)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueAddress":
                current.Value = new Hl7.Fhir.Model.Address();
                ((Hl7.Fhir.Model.Address)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueAge":
                current.Value = new Hl7.Fhir.Model.Age();
                ((Hl7.Fhir.Model.Age)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueAnnotation":
                current.Value = new Hl7.Fhir.Model.Annotation();
                ((Hl7.Fhir.Model.Annotation)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueAttachment":
                current.Value = new Hl7.Fhir.Model.Attachment();
                ((Hl7.Fhir.Model.Attachment)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueCodeableConcept":
                current.Value = new Hl7.Fhir.Model.CodeableConcept();
                ((Hl7.Fhir.Model.CodeableConcept)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueCoding":
                current.Value = new Hl7.Fhir.Model.Coding();
                ((Hl7.Fhir.Model.Coding)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueContactPoint":
                current.Value = new Hl7.Fhir.Model.ContactPoint();
                ((Hl7.Fhir.Model.ContactPoint)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueCount":
                current.Value = new Hl7.Fhir.Model.Count();
                ((Hl7.Fhir.Model.Count)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueDistance":
                current.Value = new Hl7.Fhir.Model.Distance();
                ((Hl7.Fhir.Model.Distance)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueDuration":
                current.Value = new Hl7.Fhir.Model.Duration();
                ((Hl7.Fhir.Model.Duration)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueHumanName":
                current.Value = new Hl7.Fhir.Model.HumanName();
                ((Hl7.Fhir.Model.HumanName)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueIdentifier":
                current.Value = new Hl7.Fhir.Model.Identifier();
                ((Hl7.Fhir.Model.Identifier)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueMoney":
                current.Value = new Hl7.Fhir.Model.Money();
                ((Hl7.Fhir.Model.Money)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valuePeriod":
                current.Value = new Hl7.Fhir.Model.Period();
                ((Hl7.Fhir.Model.Period)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueQuantity":
                current.Value = new Hl7.Fhir.Model.Quantity();
                ((Hl7.Fhir.Model.Quantity)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueRange":
                current.Value = new Hl7.Fhir.Model.Range();
                ((Hl7.Fhir.Model.Range)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueRatio":
                current.Value = new Hl7.Fhir.Model.Ratio();
                ((Hl7.Fhir.Model.Ratio)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueReference":
                current.Value = new Hl7.Fhir.Model.ResourceReference();
                ((Hl7.Fhir.Model.ResourceReference)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueSampledData":
                current.Value = new Hl7.Fhir.Model.SampledData();
                ((Hl7.Fhir.Model.SampledData)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueSignature":
                current.Value = new Hl7.Fhir.Model.Signature();
                ((Hl7.Fhir.Model.Signature)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueTiming":
                current.Value = new Hl7.Fhir.Model.Timing();
                ((Hl7.Fhir.Model.Timing)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueContactDetail":
                current.Value = new Hl7.Fhir.Model.ContactDetail();
                ((Hl7.Fhir.Model.ContactDetail)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueContributor":
                current.Value = new Hl7.Fhir.Model.Contributor();
                ((Hl7.Fhir.Model.Contributor)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueDataRequirement":
                current.Value = new Hl7.Fhir.Model.DataRequirement();
                ((Hl7.Fhir.Model.DataRequirement)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueExpression":
                current.Value = new Hl7.Fhir.Model.Expression();
                ((Hl7.Fhir.Model.Expression)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueParameterDefinition":
                current.Value = new Hl7.Fhir.Model.ParameterDefinition();
                ((Hl7.Fhir.Model.ParameterDefinition)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueRelatedArtifact":
                current.Value = new Hl7.Fhir.Model.RelatedArtifact();
                ((Hl7.Fhir.Model.RelatedArtifact)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueTriggerDefinition":
                current.Value = new Hl7.Fhir.Model.TriggerDefinition();
                ((Hl7.Fhir.Model.TriggerDefinition)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueUsageContext":
                current.Value = new Hl7.Fhir.Model.UsageContext();
                ((Hl7.Fhir.Model.UsageContext)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueDosage":
                current.Value = new Hl7.Fhir.Model.Dosage();
                ((Hl7.Fhir.Model.Dosage)current.Value).DeserializeJson(ref reader, options);
                break;

            case "valueMeta":
                current.Value = new Hl7.Fhir.Model.Meta();
                ((Hl7.Fhir.Model.Meta)current.Value).DeserializeJson(ref reader, options);
                break;

            case "resource":
                current.Resource = JsonStreamResourceConverter.PolymorphicRead(ref reader, typeof(Resource), options);
                break;

            case "part":
                if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read()))
                {
                    throw new JsonException($"ParameterComponent error reading 'part' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                }

                current.Part = new List <Parameters.ParameterComponent>();

                while (reader.TokenType != JsonTokenType.EndArray)
                {
                    Hl7.Fhir.Model.Parameters.ParameterComponent v_Part = new Hl7.Fhir.Model.Parameters.ParameterComponent();
                    v_Part.DeserializeJson(ref reader, options);
                    current.Part.Add(v_Part);

                    if (!reader.Read())
                    {
                        throw new JsonException($"ParameterComponent error reading 'part' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                    }
                    if (reader.TokenType == JsonTokenType.EndObject)
                    {
                        reader.Read();
                    }
                }

                if (current.Part.Count == 0)
                {
                    current.Part = null;
                }
                break;

            // Complex: parameter, Export: ParameterComponent, Base: BackboneElement
            default:
                ((Hl7.Fhir.Model.BackboneElement)current).DeserializeJsonProperty(ref reader, options, propertyName);
                break;
            }
        }