Exemple #1
0
        public static string AuditEntityModified(EntityEntry objectStateEntry, Utf8JsonWriter writer = null)
        {
            writer?.WritePropertyName("Values");
            writer?.WriteStartArray();
            var values = new List <AuditUpdate>();

            foreach (var prop in objectStateEntry.OriginalValues.Properties)
            {
                string originalValue = null;
                if (objectStateEntry.OriginalValues[prop] != null)
                {
                    originalValue = objectStateEntry.OriginalValues[prop].ToString();
                }
                string currentValue = null;
                if (objectStateEntry.CurrentValues[prop] != null)
                {
                    currentValue = objectStateEntry.CurrentValues[prop].ToString();
                }

                if (originalValue != currentValue) //Only create a log if the value changes
                {
                    values.Add(new AuditUpdate
                    {
                        PropertyName = prop.Name,
                        OldValue     = originalValue,
                        NewValue     = currentValue,
                    });
                    writer?.WriteStartObject();
                    writer?.WritePropertyName("PropertyName");
                    writer?.WriteStringValue(prop.Name);

                    writer?.WritePropertyName("OldValue");
                    writer?.WriteStringValue(originalValue);

                    writer?.WritePropertyName("NewValue");
                    writer?.WriteStringValue(currentValue);
                    writer?.WriteEndObject();
                }
            }
            writer?.WriteEndArray();

            return(JsonSerializer.Serialize(values));
        }
Exemple #2
0
 void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     writer.WritePropertyName("properties");
     writer.WriteStartObject();
     if (Optional.IsDefined(HostName))
     {
         writer.WritePropertyName("hostName");
         writer.WriteStringValue(HostName);
     }
     if (Optional.IsDefined(HttpPort))
     {
         if (HttpPort != null)
         {
             writer.WritePropertyName("httpPort");
             writer.WriteNumberValue(HttpPort.Value);
         }
         else
         {
             writer.WriteNull("httpPort");
         }
     }
     if (Optional.IsDefined(HttpsPort))
     {
         if (HttpsPort != null)
         {
             writer.WritePropertyName("httpsPort");
             writer.WriteNumberValue(HttpsPort.Value);
         }
         else
         {
             writer.WriteNull("httpsPort");
         }
     }
     if (Optional.IsDefined(OriginHostHeader))
     {
         writer.WritePropertyName("originHostHeader");
         writer.WriteStringValue(OriginHostHeader);
     }
     if (Optional.IsDefined(Priority))
     {
         if (Priority != null)
         {
             writer.WritePropertyName("priority");
             writer.WriteNumberValue(Priority.Value);
         }
         else
         {
             writer.WriteNull("priority");
         }
     }
     if (Optional.IsDefined(Weight))
     {
         if (Weight != null)
         {
             writer.WritePropertyName("weight");
             writer.WriteNumberValue(Weight.Value);
         }
         else
         {
             writer.WriteNull("weight");
         }
     }
     if (Optional.IsDefined(Enabled))
     {
         writer.WritePropertyName("enabled");
         writer.WriteBooleanValue(Enabled.Value);
     }
     if (Optional.IsDefined(PrivateLinkAlias))
     {
         writer.WritePropertyName("privateLinkAlias");
         writer.WriteStringValue(PrivateLinkAlias);
     }
     if (Optional.IsDefined(PrivateLinkResourceId))
     {
         if (PrivateLinkResourceId != null)
         {
             writer.WritePropertyName("privateLinkResourceId");
             writer.WriteStringValue(PrivateLinkResourceId);
         }
         else
         {
             writer.WriteNull("privateLinkResourceId");
         }
     }
     if (Optional.IsDefined(PrivateLinkLocation))
     {
         writer.WritePropertyName("privateLinkLocation");
         writer.WriteStringValue(PrivateLinkLocation);
     }
     if (Optional.IsDefined(PrivateLinkApprovalMessage))
     {
         writer.WritePropertyName("privateLinkApprovalMessage");
         writer.WriteStringValue(PrivateLinkApprovalMessage);
     }
     writer.WriteEndObject();
     writer.WriteEndObject();
 }
Exemple #3
0
        void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
        {
            writer.WriteStartObject();
            writer.WritePropertyName("tags");
            writer.WriteStartObject();
            foreach (var item in Tags)
            {
                writer.WritePropertyName(item.Key);
                writer.WriteStringValue(item.Value);
            }
            writer.WriteEndObject();
            writer.WritePropertyName("location");
            writer.WriteStringValue(Location);
            writer.WritePropertyName("properties");
            writer.WriteStartObject();
            if (Optional.IsDefined(ForceUpdateTag))
            {
                writer.WritePropertyName("forceUpdateTag");
                writer.WriteStringValue(ForceUpdateTag);
            }
            if (Optional.IsDefined(Publisher))
            {
                writer.WritePropertyName("publisher");
                writer.WriteStringValue(Publisher);
            }
            if (Optional.IsDefined(TypePropertiesType))
            {
                writer.WritePropertyName("type");
                writer.WriteStringValue(TypePropertiesType);
            }
            if (Optional.IsDefined(TypeHandlerVersion))
            {
                writer.WritePropertyName("typeHandlerVersion");
                writer.WriteStringValue(TypeHandlerVersion);
            }
            if (Optional.IsDefined(AutoUpgradeMinorVersion))
            {
                writer.WritePropertyName("autoUpgradeMinorVersion");
                writer.WriteBooleanValue(AutoUpgradeMinorVersion.Value);
            }
            if (Optional.IsDefined(EnableAutomaticUpgrade))
            {
                writer.WritePropertyName("enableAutomaticUpgrade");
                writer.WriteBooleanValue(EnableAutomaticUpgrade.Value);
            }
            if (Optional.IsDefined(Settings))
            {
                writer.WritePropertyName("settings");
#if NET6_0_OR_GREATER
                writer.WriteRawValue(Settings);
#else
                JsonSerializer.Serialize(writer, JsonDocument.Parse(Settings.ToString()).RootElement);
#endif
            }
            if (Optional.IsDefined(ProtectedSettings))
            {
                writer.WritePropertyName("protectedSettings");
#if NET6_0_OR_GREATER
                writer.WriteRawValue(ProtectedSettings);
#else
                JsonSerializer.Serialize(writer, JsonDocument.Parse(ProtectedSettings.ToString()).RootElement);
#endif
            }
            if (Optional.IsDefined(InstanceView))
            {
                writer.WritePropertyName("instanceView");
                writer.WriteObjectValue(InstanceView);
            }
            if (Optional.IsDefined(SuppressFailures))
            {
                writer.WritePropertyName("suppressFailures");
                writer.WriteBooleanValue(SuppressFailures.Value);
            }
            writer.WriteEndObject();
            writer.WriteEndObject();
        }
Exemple #4
0
        /// <summary>
        /// Serialize a FHIR Practitioner into JSON
        /// </summary>
        public static void SerializeJson(this Practitioner current, Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true)
        {
            if (includeStartObject)
            {
                writer.WriteStartObject();
            }
            writer.WriteString("resourceType", "Practitioner");
            // Complex: Practitioner, Export: Practitioner, Base: DomainResource (DomainResource)
            ((Hl7.Fhir.Model.DomainResource)current).SerializeJson(writer, options, false);

            if ((current.Identifier != null) && (current.Identifier.Count != 0))
            {
                writer.WritePropertyName("identifier");
                writer.WriteStartArray();
                foreach (Identifier val in current.Identifier)
                {
                    val.SerializeJson(writer, options, true);
                }
                writer.WriteEndArray();
            }

            if (current.ActiveElement != null)
            {
                if (current.ActiveElement.Value != null)
                {
                    writer.WriteBoolean("active", (bool)current.ActiveElement.Value);
                }
                if (current.ActiveElement.HasExtensions() || (!string.IsNullOrEmpty(current.ActiveElement.ElementId)))
                {
                    JsonStreamUtilities.SerializeExtensionList(writer, options, "_active", false, current.ActiveElement.Extension, current.ActiveElement.ElementId);
                }
            }

            if ((current.Name != null) && (current.Name.Count != 0))
            {
                writer.WritePropertyName("name");
                writer.WriteStartArray();
                foreach (HumanName val in current.Name)
                {
                    val.SerializeJson(writer, options, true);
                }
                writer.WriteEndArray();
            }

            if ((current.Telecom != null) && (current.Telecom.Count != 0))
            {
                writer.WritePropertyName("telecom");
                writer.WriteStartArray();
                foreach (ContactPoint val in current.Telecom)
                {
                    val.SerializeJson(writer, options, true);
                }
                writer.WriteEndArray();
            }

            if ((current.Address != null) && (current.Address.Count != 0))
            {
                writer.WritePropertyName("address");
                writer.WriteStartArray();
                foreach (Address val in current.Address)
                {
                    val.SerializeJson(writer, options, true);
                }
                writer.WriteEndArray();
            }

            if (current.GenderElement != null)
            {
                if (current.GenderElement.Value != null)
                {
                    writer.WriteString("gender", Hl7.Fhir.Utility.EnumUtility.GetLiteral(current.GenderElement.Value));
                }
                if (current.GenderElement.HasExtensions() || (!string.IsNullOrEmpty(current.GenderElement.ElementId)))
                {
                    JsonStreamUtilities.SerializeExtensionList(writer, options, "_gender", false, current.GenderElement.Extension, current.GenderElement.ElementId);
                }
            }

            if (current.BirthDateElement != null)
            {
                if (!string.IsNullOrEmpty(current.BirthDateElement.Value))
                {
                    writer.WriteString("birthDate", current.BirthDateElement.Value);
                }
                if (current.BirthDateElement.HasExtensions() || (!string.IsNullOrEmpty(current.BirthDateElement.ElementId)))
                {
                    JsonStreamUtilities.SerializeExtensionList(writer, options, "_birthDate", false, current.BirthDateElement.Extension, current.BirthDateElement.ElementId);
                }
            }

            if ((current.Photo != null) && (current.Photo.Count != 0))
            {
                writer.WritePropertyName("photo");
                writer.WriteStartArray();
                foreach (Attachment val in current.Photo)
                {
                    val.SerializeJson(writer, options, true);
                }
                writer.WriteEndArray();
            }

            if ((current.Qualification != null) && (current.Qualification.Count != 0))
            {
                writer.WritePropertyName("qualification");
                writer.WriteStartArray();
                foreach (Practitioner.QualificationComponent val in current.Qualification)
                {
                    val.SerializeJson(writer, options, true);
                }
                writer.WriteEndArray();
            }

            if ((current.Communication != null) && (current.Communication.Count != 0))
            {
                writer.WritePropertyName("communication");
                writer.WriteStartArray();
                foreach (CodeableConcept val in current.Communication)
                {
                    val.SerializeJson(writer, options, true);
                }
                writer.WriteEndArray();
            }

            if (includeStartObject)
            {
                writer.WriteEndObject();
            }
        }
 void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     if (LinkedServiceName != null)
     {
         writer.WritePropertyName("linkedServiceName");
         writer.WriteObjectValue(LinkedServiceName);
     }
     if (Policy != null)
     {
         writer.WritePropertyName("policy");
         writer.WriteObjectValue(Policy);
     }
     writer.WritePropertyName("name");
     writer.WriteStringValue(Name);
     writer.WritePropertyName("type");
     writer.WriteStringValue(Type);
     if (Description != null)
     {
         writer.WritePropertyName("description");
         writer.WriteStringValue(Description);
     }
     if (DependsOn != null)
     {
         writer.WritePropertyName("dependsOn");
         writer.WriteStartArray();
         foreach (var item in DependsOn)
         {
             writer.WriteObjectValue(item);
         }
         writer.WriteEndArray();
     }
     if (UserProperties != null)
     {
         writer.WritePropertyName("userProperties");
         writer.WriteStartArray();
         foreach (var item in UserProperties)
         {
             writer.WriteObjectValue(item);
         }
         writer.WriteEndArray();
     }
     writer.WritePropertyName("typeProperties");
     writer.WriteStartObject();
     if (StorageLinkedServices != null)
     {
         writer.WritePropertyName("storageLinkedServices");
         writer.WriteStartArray();
         foreach (var item in StorageLinkedServices)
         {
             writer.WriteObjectValue(item);
         }
         writer.WriteEndArray();
     }
     if (Arguments != null)
     {
         writer.WritePropertyName("arguments");
         writer.WriteObjectValue(Arguments);
     }
     if (GetDebugInfo != null)
     {
         writer.WritePropertyName("getDebugInfo");
         writer.WriteStringValue(GetDebugInfo.Value.ToString());
     }
     if (ScriptPath != null)
     {
         writer.WritePropertyName("scriptPath");
         writer.WriteObjectValue(ScriptPath);
     }
     if (ScriptLinkedService != null)
     {
         writer.WritePropertyName("scriptLinkedService");
         writer.WriteObjectValue(ScriptLinkedService);
     }
     if (Defines != null)
     {
         writer.WritePropertyName("defines");
         writer.WriteStartObject();
         foreach (var item in Defines)
         {
             writer.WritePropertyName(item.Key);
             writer.WriteObjectValue(item.Value);
         }
         writer.WriteEndObject();
     }
     writer.WriteEndObject();
     foreach (var item in AdditionalProperties)
     {
         writer.WritePropertyName(item.Key);
         writer.WriteObjectValue(item.Value);
     }
     writer.WriteEndObject();
 }
Exemple #6
0
        /// <summary>
        /// Serialize to a JSON object
        /// </summary>
        public new void SerializeJson(Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true)
        {
            if (includeStartObject)
            {
                writer.WriteStartObject();
            }
            if (!string.IsNullOrEmpty(ResourceType))
            {
                writer.WriteString("resourceType", (string)ResourceType !);
            }


            ((fhirCsR4.Models.DomainResource) this).SerializeJson(writer, options, false);

            if ((Identifier != null) && (Identifier.Count != 0))
            {
                writer.WritePropertyName("identifier");
                writer.WriteStartArray();

                foreach (Identifier valIdentifier in Identifier)
                {
                    valIdentifier.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((BasedOn != null) && (BasedOn.Count != 0))
            {
                writer.WritePropertyName("basedOn");
                writer.WriteStartArray();

                foreach (Reference valBasedOn in BasedOn)
                {
                    valBasedOn.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((PartOf != null) && (PartOf.Count != 0))
            {
                writer.WritePropertyName("partOf");
                writer.WriteStartArray();

                foreach (Reference valPartOf in PartOf)
                {
                    valPartOf.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (!string.IsNullOrEmpty(Status))
            {
                writer.WriteString("status", (string)Status !);
            }

            if (_Status != null)
            {
                writer.WritePropertyName("_status");
                _Status.SerializeJson(writer, options);
            }

            if ((StatusReason != null) && (StatusReason.Count != 0))
            {
                writer.WritePropertyName("statusReason");
                writer.WriteStartArray();

                foreach (CodeableConcept valStatusReason in StatusReason)
                {
                    valStatusReason.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (Category != null)
            {
                writer.WritePropertyName("category");
                Category.SerializeJson(writer, options);
            }

            if (MedicationCodeableConcept != null)
            {
                writer.WritePropertyName("medicationCodeableConcept");
                MedicationCodeableConcept.SerializeJson(writer, options);
            }

            if (MedicationReference != null)
            {
                writer.WritePropertyName("medicationReference");
                MedicationReference.SerializeJson(writer, options);
            }

            if (Subject != null)
            {
                writer.WritePropertyName("subject");
                Subject.SerializeJson(writer, options);
            }

            if (Context != null)
            {
                writer.WritePropertyName("context");
                Context.SerializeJson(writer, options);
            }

            if (!string.IsNullOrEmpty(EffectiveDateTime))
            {
                writer.WriteString("effectiveDateTime", (string)EffectiveDateTime !);
            }

            if (_EffectiveDateTime != null)
            {
                writer.WritePropertyName("_effectiveDateTime");
                _EffectiveDateTime.SerializeJson(writer, options);
            }

            if (EffectivePeriod != null)
            {
                writer.WritePropertyName("effectivePeriod");
                EffectivePeriod.SerializeJson(writer, options);
            }

            if (!string.IsNullOrEmpty(DateAsserted))
            {
                writer.WriteString("dateAsserted", (string)DateAsserted !);
            }

            if (_DateAsserted != null)
            {
                writer.WritePropertyName("_dateAsserted");
                _DateAsserted.SerializeJson(writer, options);
            }

            if (InformationSource != null)
            {
                writer.WritePropertyName("informationSource");
                InformationSource.SerializeJson(writer, options);
            }

            if ((DerivedFrom != null) && (DerivedFrom.Count != 0))
            {
                writer.WritePropertyName("derivedFrom");
                writer.WriteStartArray();

                foreach (Reference valDerivedFrom in DerivedFrom)
                {
                    valDerivedFrom.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((ReasonCode != null) && (ReasonCode.Count != 0))
            {
                writer.WritePropertyName("reasonCode");
                writer.WriteStartArray();

                foreach (CodeableConcept valReasonCode in ReasonCode)
                {
                    valReasonCode.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((ReasonReference != null) && (ReasonReference.Count != 0))
            {
                writer.WritePropertyName("reasonReference");
                writer.WriteStartArray();

                foreach (Reference valReasonReference in ReasonReference)
                {
                    valReasonReference.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((Note != null) && (Note.Count != 0))
            {
                writer.WritePropertyName("note");
                writer.WriteStartArray();

                foreach (Annotation valNote in Note)
                {
                    valNote.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((Dosage != null) && (Dosage.Count != 0))
            {
                writer.WritePropertyName("dosage");
                writer.WriteStartArray();

                foreach (Dosage valDosage in Dosage)
                {
                    valDosage.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (includeStartObject)
            {
                writer.WriteEndObject();
            }
        }
Exemple #7
0
 public override void Write(Utf8JsonWriter writer, ProblemDetails value, JsonSerializerOptions options)
 {
     writer.WriteStartObject();
     WriteProblemDetails(writer, value, options);
     writer.WriteEndObject();
 }
Exemple #8
0
 void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     if (Optional.IsDefined(Identity))
     {
         writer.WritePropertyName("identity");
         JsonSerializer.Serialize(writer, Identity);
     }
     if (Optional.IsDefined(ExtendedLocation))
     {
         writer.WritePropertyName("extendedLocation");
         writer.WriteObjectValue(ExtendedLocation);
     }
     if (Optional.IsDefined(Kind))
     {
         writer.WritePropertyName("kind");
         writer.WriteStringValue(Kind);
     }
     writer.WritePropertyName("tags");
     writer.WriteStartObject();
     foreach (var item in Tags)
     {
         writer.WritePropertyName(item.Key);
         writer.WriteStringValue(item.Value);
     }
     writer.WriteEndObject();
     writer.WritePropertyName("location");
     writer.WriteStringValue(Location);
     writer.WritePropertyName("properties");
     writer.WriteStartObject();
     if (Optional.IsDefined(Enabled))
     {
         writer.WritePropertyName("enabled");
         writer.WriteBooleanValue(Enabled.Value);
     }
     if (Optional.IsCollectionDefined(HostNameSslStates))
     {
         writer.WritePropertyName("hostNameSslStates");
         writer.WriteStartArray();
         foreach (var item in HostNameSslStates)
         {
             writer.WriteObjectValue(item);
         }
         writer.WriteEndArray();
     }
     if (Optional.IsDefined(ServerFarmId))
     {
         writer.WritePropertyName("serverFarmId");
         writer.WriteStringValue(ServerFarmId);
     }
     if (Optional.IsDefined(Reserved))
     {
         writer.WritePropertyName("reserved");
         writer.WriteBooleanValue(Reserved.Value);
     }
     if (Optional.IsDefined(IsXenon))
     {
         writer.WritePropertyName("isXenon");
         writer.WriteBooleanValue(IsXenon.Value);
     }
     if (Optional.IsDefined(HyperV))
     {
         writer.WritePropertyName("hyperV");
         writer.WriteBooleanValue(HyperV.Value);
     }
     if (Optional.IsDefined(SiteConfig))
     {
         writer.WritePropertyName("siteConfig");
         writer.WriteObjectValue(SiteConfig);
     }
     if (Optional.IsDefined(ScmSiteAlsoStopped))
     {
         writer.WritePropertyName("scmSiteAlsoStopped");
         writer.WriteBooleanValue(ScmSiteAlsoStopped.Value);
     }
     if (Optional.IsDefined(HostingEnvironmentProfile))
     {
         if (HostingEnvironmentProfile != null)
         {
             writer.WritePropertyName("hostingEnvironmentProfile");
             writer.WriteObjectValue(HostingEnvironmentProfile);
         }
         else
         {
             writer.WriteNull("hostingEnvironmentProfile");
         }
     }
     if (Optional.IsDefined(ClientAffinityEnabled))
     {
         writer.WritePropertyName("clientAffinityEnabled");
         writer.WriteBooleanValue(ClientAffinityEnabled.Value);
     }
     if (Optional.IsDefined(ClientCertEnabled))
     {
         writer.WritePropertyName("clientCertEnabled");
         writer.WriteBooleanValue(ClientCertEnabled.Value);
     }
     if (Optional.IsDefined(ClientCertMode))
     {
         writer.WritePropertyName("clientCertMode");
         writer.WriteStringValue(ClientCertMode.Value.ToSerialString());
     }
     if (Optional.IsDefined(ClientCertExclusionPaths))
     {
         writer.WritePropertyName("clientCertExclusionPaths");
         writer.WriteStringValue(ClientCertExclusionPaths);
     }
     if (Optional.IsDefined(HostNamesDisabled))
     {
         writer.WritePropertyName("hostNamesDisabled");
         writer.WriteBooleanValue(HostNamesDisabled.Value);
     }
     if (Optional.IsDefined(CustomDomainVerificationId))
     {
         writer.WritePropertyName("customDomainVerificationId");
         writer.WriteStringValue(CustomDomainVerificationId);
     }
     if (Optional.IsDefined(ContainerSize))
     {
         writer.WritePropertyName("containerSize");
         writer.WriteNumberValue(ContainerSize.Value);
     }
     if (Optional.IsDefined(DailyMemoryTimeQuota))
     {
         writer.WritePropertyName("dailyMemoryTimeQuota");
         writer.WriteNumberValue(DailyMemoryTimeQuota.Value);
     }
     if (Optional.IsDefined(CloningInfo))
     {
         if (CloningInfo != null)
         {
             writer.WritePropertyName("cloningInfo");
             writer.WriteObjectValue(CloningInfo);
         }
         else
         {
             writer.WriteNull("cloningInfo");
         }
     }
     if (Optional.IsDefined(HttpsOnly))
     {
         writer.WritePropertyName("httpsOnly");
         writer.WriteBooleanValue(HttpsOnly.Value);
     }
     if (Optional.IsDefined(RedundancyMode))
     {
         writer.WritePropertyName("redundancyMode");
         writer.WriteStringValue(RedundancyMode.Value.ToSerialString());
     }
     if (Optional.IsDefined(StorageAccountRequired))
     {
         writer.WritePropertyName("storageAccountRequired");
         writer.WriteBooleanValue(StorageAccountRequired.Value);
     }
     if (Optional.IsDefined(KeyVaultReferenceIdentity))
     {
         writer.WritePropertyName("keyVaultReferenceIdentity");
         writer.WriteStringValue(KeyVaultReferenceIdentity);
     }
     if (Optional.IsDefined(VirtualNetworkSubnetId))
     {
         writer.WritePropertyName("virtualNetworkSubnetId");
         writer.WriteStringValue(VirtualNetworkSubnetId);
     }
     writer.WriteEndObject();
     writer.WriteEndObject();
 }
 void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     if (Optional.IsDefined(Sku))
     {
         writer.WritePropertyName("sku");
         writer.WriteObjectValue(Sku);
     }
     if (Optional.IsDefined(Identity))
     {
         writer.WritePropertyName("identity");
         JsonSerializer.Serialize(writer, Identity);
     }
     if (Optional.IsCollectionDefined(Tags))
     {
         writer.WritePropertyName("tags");
         writer.WriteStartObject();
         foreach (var item in Tags)
         {
             writer.WritePropertyName(item.Key);
             writer.WriteStringValue(item.Value);
         }
         writer.WriteEndObject();
     }
     writer.WritePropertyName("properties");
     writer.WriteStartObject();
     if (Optional.IsDefined(ManagedInstanceCreateMode))
     {
         writer.WritePropertyName("managedInstanceCreateMode");
         writer.WriteStringValue(ManagedInstanceCreateMode.Value.ToString());
     }
     if (Optional.IsDefined(AdministratorLogin))
     {
         writer.WritePropertyName("administratorLogin");
         writer.WriteStringValue(AdministratorLogin);
     }
     if (Optional.IsDefined(AdministratorLoginPassword))
     {
         writer.WritePropertyName("administratorLoginPassword");
         writer.WriteStringValue(AdministratorLoginPassword);
     }
     if (Optional.IsDefined(SubnetId))
     {
         writer.WritePropertyName("subnetId");
         writer.WriteStringValue(SubnetId);
     }
     if (Optional.IsDefined(LicenseType))
     {
         writer.WritePropertyName("licenseType");
         writer.WriteStringValue(LicenseType.Value.ToString());
     }
     if (Optional.IsDefined(VCores))
     {
         writer.WritePropertyName("vCores");
         writer.WriteNumberValue(VCores.Value);
     }
     if (Optional.IsDefined(StorageSizeInGB))
     {
         writer.WritePropertyName("storageSizeInGB");
         writer.WriteNumberValue(StorageSizeInGB.Value);
     }
     if (Optional.IsDefined(Collation))
     {
         writer.WritePropertyName("collation");
         writer.WriteStringValue(Collation);
     }
     if (Optional.IsDefined(DnsZonePartner))
     {
         writer.WritePropertyName("dnsZonePartner");
         writer.WriteStringValue(DnsZonePartner);
     }
     if (Optional.IsDefined(PublicDataEndpointEnabled))
     {
         writer.WritePropertyName("publicDataEndpointEnabled");
         writer.WriteBooleanValue(PublicDataEndpointEnabled.Value);
     }
     if (Optional.IsDefined(SourceManagedInstanceId))
     {
         writer.WritePropertyName("sourceManagedInstanceId");
         writer.WriteStringValue(SourceManagedInstanceId);
     }
     if (Optional.IsDefined(RestorePointInTime))
     {
         writer.WritePropertyName("restorePointInTime");
         writer.WriteStringValue(RestorePointInTime.Value, "O");
     }
     if (Optional.IsDefined(ProxyOverride))
     {
         writer.WritePropertyName("proxyOverride");
         writer.WriteStringValue(ProxyOverride.Value.ToString());
     }
     if (Optional.IsDefined(TimezoneId))
     {
         writer.WritePropertyName("timezoneId");
         writer.WriteStringValue(TimezoneId);
     }
     if (Optional.IsDefined(InstancePoolId))
     {
         writer.WritePropertyName("instancePoolId");
         writer.WriteStringValue(InstancePoolId);
     }
     if (Optional.IsDefined(MaintenanceConfigurationId))
     {
         writer.WritePropertyName("maintenanceConfigurationId");
         writer.WriteStringValue(MaintenanceConfigurationId);
     }
     if (Optional.IsDefined(MinimalTlsVersion))
     {
         writer.WritePropertyName("minimalTlsVersion");
         writer.WriteStringValue(MinimalTlsVersion);
     }
     if (Optional.IsDefined(StorageAccountType))
     {
         writer.WritePropertyName("storageAccountType");
         writer.WriteStringValue(StorageAccountType.Value.ToString());
     }
     if (Optional.IsDefined(ZoneRedundant))
     {
         writer.WritePropertyName("zoneRedundant");
         writer.WriteBooleanValue(ZoneRedundant.Value);
     }
     if (Optional.IsDefined(PrimaryUserAssignedIdentityId))
     {
         writer.WritePropertyName("primaryUserAssignedIdentityId");
         writer.WriteStringValue(PrimaryUserAssignedIdentityId);
     }
     if (Optional.IsDefined(KeyId))
     {
         writer.WritePropertyName("keyId");
         writer.WriteStringValue(KeyId);
     }
     if (Optional.IsDefined(Administrators))
     {
         writer.WritePropertyName("administrators");
         writer.WriteObjectValue(Administrators);
     }
     writer.WriteEndObject();
     writer.WriteEndObject();
 }
        /// <summary>
        /// Serialize a FHIR ObservationDefinition#QualifiedInterval into JSON
        /// </summary>
        public static void SerializeJson(this ObservationDefinition.QualifiedIntervalComponent current, Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true)
        {
            if (includeStartObject)
            {
                writer.WriteStartObject();
            }
            // Component: ObservationDefinition#QualifiedInterval, Export: QualifiedIntervalComponent, Base: BackboneElement (BackboneElement)
            ((Hl7.Fhir.Model.BackboneElement)current).SerializeJson(writer, options, false);

            if (current.CategoryElement != null)
            {
                if (current.CategoryElement.Value != null)
                {
                    writer.WriteString("category", Hl7.Fhir.Utility.EnumUtility.GetLiteral(current.CategoryElement.Value));
                }
                if (current.CategoryElement.HasExtensions() || (!string.IsNullOrEmpty(current.CategoryElement.ElementId)))
                {
                    JsonStreamUtilities.SerializeExtensionList(writer, options, "_category", false, current.CategoryElement.Extension, current.CategoryElement.ElementId);
                }
            }

            if (current.Range != null)
            {
                writer.WritePropertyName("range");
                current.Range.SerializeJson(writer, options);
            }

            if (current.Context != null)
            {
                writer.WritePropertyName("context");
                current.Context.SerializeJson(writer, options);
            }

            if ((current.AppliesTo != null) && (current.AppliesTo.Count != 0))
            {
                writer.WritePropertyName("appliesTo");
                writer.WriteStartArray();
                foreach (CodeableConcept val in current.AppliesTo)
                {
                    val.SerializeJson(writer, options, true);
                }
                writer.WriteEndArray();
            }

            if (current.GenderElement != null)
            {
                if (current.GenderElement.Value != null)
                {
                    writer.WriteString("gender", Hl7.Fhir.Utility.EnumUtility.GetLiteral(current.GenderElement.Value));
                }
                if (current.GenderElement.HasExtensions() || (!string.IsNullOrEmpty(current.GenderElement.ElementId)))
                {
                    JsonStreamUtilities.SerializeExtensionList(writer, options, "_gender", false, current.GenderElement.Extension, current.GenderElement.ElementId);
                }
            }

            if (current.Age != null)
            {
                writer.WritePropertyName("age");
                current.Age.SerializeJson(writer, options);
            }

            if (current.GestationalAge != null)
            {
                writer.WritePropertyName("gestationalAge");
                current.GestationalAge.SerializeJson(writer, options);
            }

            if (current.ConditionElement != null)
            {
                if (!string.IsNullOrEmpty(current.ConditionElement.Value))
                {
                    writer.WriteString("condition", current.ConditionElement.Value);
                }
                if (current.ConditionElement.HasExtensions() || (!string.IsNullOrEmpty(current.ConditionElement.ElementId)))
                {
                    JsonStreamUtilities.SerializeExtensionList(writer, options, "_condition", false, current.ConditionElement.Extension, current.ConditionElement.ElementId);
                }
            }

            if (includeStartObject)
            {
                writer.WriteEndObject();
            }
        }
        /// <summary>
        /// Serialize a FHIR ObservationDefinition into JSON
        /// </summary>
        public static void SerializeJson(this ObservationDefinition current, Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true)
        {
            if (includeStartObject)
            {
                writer.WriteStartObject();
            }
            writer.WriteString("resourceType", "ObservationDefinition");
            // Complex: ObservationDefinition, Export: ObservationDefinition, Base: DomainResource (DomainResource)
            ((Hl7.Fhir.Model.DomainResource)current).SerializeJson(writer, options, false);

            if ((current.Category != null) && (current.Category.Count != 0))
            {
                writer.WritePropertyName("category");
                writer.WriteStartArray();
                foreach (CodeableConcept val in current.Category)
                {
                    val.SerializeJson(writer, options, true);
                }
                writer.WriteEndArray();
            }

            writer.WritePropertyName("code");
            current.Code.SerializeJson(writer, options);

            if ((current.Identifier != null) && (current.Identifier.Count != 0))
            {
                writer.WritePropertyName("identifier");
                writer.WriteStartArray();
                foreach (Identifier val in current.Identifier)
                {
                    val.SerializeJson(writer, options, true);
                }
                writer.WriteEndArray();
            }

            if ((current.PermittedDataTypeElement != null) && (current.PermittedDataTypeElement.Count != 0))
            {
                int valueCount     = 0;
                int extensionCount = 0;
                foreach (Code <Hl7.Fhir.Model.ObservationDefinition.ObservationDataType> val in current.PermittedDataTypeElement)
                {
                    if (val.Value != null)
                    {
                        valueCount++;
                    }
                    if (val.HasExtensions())
                    {
                        extensionCount++;
                    }
                }

                if (valueCount > 0)
                {
                    writer.WritePropertyName("permittedDataType");
                    writer.WriteStartArray();
                    foreach (Code <Hl7.Fhir.Model.ObservationDefinition.ObservationDataType> val in current.PermittedDataTypeElement)
                    {
                        if (val.Value == null)
                        {
                            writer.WriteNullValue();
                        }
                        else
                        {
                            writer.WriteStringValue(Hl7.Fhir.Utility.EnumUtility.GetLiteral(val.Value));
                        }
                    }

                    writer.WriteEndArray();
                }

                if (extensionCount > 0)
                {
                    writer.WritePropertyName("_permittedDataType");
                    writer.WriteStartArray();
                    foreach (Code <Hl7.Fhir.Model.ObservationDefinition.ObservationDataType> val in current.PermittedDataTypeElement)
                    {
                        if (val.HasExtensions() || (!string.IsNullOrEmpty(val.ElementId)))
                        {
                            JsonStreamUtilities.SerializeExtensionList(writer, options, string.Empty, true, val.Extension, val.ElementId);
                        }
                        else
                        {
                            writer.WriteNullValue();
                        }
                    }

                    writer.WriteEndArray();
                }
            }

            if (current.MultipleResultsAllowedElement != null)
            {
                if (current.MultipleResultsAllowedElement.Value != null)
                {
                    writer.WriteBoolean("multipleResultsAllowed", (bool)current.MultipleResultsAllowedElement.Value);
                }
                if (current.MultipleResultsAllowedElement.HasExtensions() || (!string.IsNullOrEmpty(current.MultipleResultsAllowedElement.ElementId)))
                {
                    JsonStreamUtilities.SerializeExtensionList(writer, options, "_multipleResultsAllowed", false, current.MultipleResultsAllowedElement.Extension, current.MultipleResultsAllowedElement.ElementId);
                }
            }

            if (current.Method != null)
            {
                writer.WritePropertyName("method");
                current.Method.SerializeJson(writer, options);
            }

            if (current.PreferredReportNameElement != null)
            {
                if (!string.IsNullOrEmpty(current.PreferredReportNameElement.Value))
                {
                    writer.WriteString("preferredReportName", current.PreferredReportNameElement.Value);
                }
                if (current.PreferredReportNameElement.HasExtensions() || (!string.IsNullOrEmpty(current.PreferredReportNameElement.ElementId)))
                {
                    JsonStreamUtilities.SerializeExtensionList(writer, options, "_preferredReportName", false, current.PreferredReportNameElement.Extension, current.PreferredReportNameElement.ElementId);
                }
            }

            if (current.QuantitativeDetails != null)
            {
                writer.WritePropertyName("quantitativeDetails");
                current.QuantitativeDetails.SerializeJson(writer, options);
            }

            if ((current.QualifiedInterval != null) && (current.QualifiedInterval.Count != 0))
            {
                writer.WritePropertyName("qualifiedInterval");
                writer.WriteStartArray();
                foreach (ObservationDefinition.QualifiedIntervalComponent val in current.QualifiedInterval)
                {
                    val.SerializeJson(writer, options, true);
                }
                writer.WriteEndArray();
            }

            if (current.ValidCodedValueSet != null)
            {
                writer.WritePropertyName("validCodedValueSet");
                current.ValidCodedValueSet.SerializeJson(writer, options);
            }

            if (current.NormalCodedValueSet != null)
            {
                writer.WritePropertyName("normalCodedValueSet");
                current.NormalCodedValueSet.SerializeJson(writer, options);
            }

            if (current.AbnormalCodedValueSet != null)
            {
                writer.WritePropertyName("abnormalCodedValueSet");
                current.AbnormalCodedValueSet.SerializeJson(writer, options);
            }

            if (current.CriticalCodedValueSet != null)
            {
                writer.WritePropertyName("criticalCodedValueSet");
                current.CriticalCodedValueSet.SerializeJson(writer, options);
            }

            if (includeStartObject)
            {
                writer.WriteEndObject();
            }
        }
Exemple #12
0
        /// <summary>
        /// Serialize to a JSON object
        /// </summary>
        public new void SerializeJson(Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true)
        {
            if (includeStartObject)
            {
                writer.WriteStartObject();
            }
            ((fhirCsR4.Models.BackboneElement) this).SerializeJson(writer, options, false);

            if (Collector != null)
            {
                writer.WritePropertyName("collector");
                Collector.SerializeJson(writer, options);
            }

            if (!string.IsNullOrEmpty(CollectedDateTime))
            {
                writer.WriteString("collectedDateTime", (string)CollectedDateTime !);
            }

            if (_CollectedDateTime != null)
            {
                writer.WritePropertyName("_collectedDateTime");
                _CollectedDateTime.SerializeJson(writer, options);
            }

            if (CollectedPeriod != null)
            {
                writer.WritePropertyName("collectedPeriod");
                CollectedPeriod.SerializeJson(writer, options);
            }

            if (Duration != null)
            {
                writer.WritePropertyName("duration");
                Duration.SerializeJson(writer, options);
            }

            if (Quantity != null)
            {
                writer.WritePropertyName("quantity");
                Quantity.SerializeJson(writer, options);
            }

            if (Method != null)
            {
                writer.WritePropertyName("method");
                Method.SerializeJson(writer, options);
            }

            if (BodySite != null)
            {
                writer.WritePropertyName("bodySite");
                BodySite.SerializeJson(writer, options);
            }

            if (FastingStatusCodeableConcept != null)
            {
                writer.WritePropertyName("fastingStatusCodeableConcept");
                FastingStatusCodeableConcept.SerializeJson(writer, options);
            }

            if (FastingStatusDuration != null)
            {
                writer.WritePropertyName("fastingStatusDuration");
                FastingStatusDuration.SerializeJson(writer, options);
            }

            if (includeStartObject)
            {
                writer.WriteEndObject();
            }
        }
Exemple #13
0
        /// <summary>
        /// Serialize to a JSON object
        /// </summary>
        public new void SerializeJson(Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true)
        {
            if (includeStartObject)
            {
                writer.WriteStartObject();
            }
            if (!string.IsNullOrEmpty(ResourceType))
            {
                writer.WriteString("resourceType", (string)ResourceType !);
            }


            ((fhirCsR4.Models.DomainResource) this).SerializeJson(writer, options, false);

            if ((Identifier != null) && (Identifier.Count != 0))
            {
                writer.WritePropertyName("identifier");
                writer.WriteStartArray();

                foreach (Identifier valIdentifier in Identifier)
                {
                    valIdentifier.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (AccessionIdentifier != null)
            {
                writer.WritePropertyName("accessionIdentifier");
                AccessionIdentifier.SerializeJson(writer, options);
            }

            if (!string.IsNullOrEmpty(Status))
            {
                writer.WriteString("status", (string)Status !);
            }

            if (_Status != null)
            {
                writer.WritePropertyName("_status");
                _Status.SerializeJson(writer, options);
            }

            if (Type != null)
            {
                writer.WritePropertyName("type");
                Type.SerializeJson(writer, options);
            }

            if (Subject != null)
            {
                writer.WritePropertyName("subject");
                Subject.SerializeJson(writer, options);
            }

            if (!string.IsNullOrEmpty(ReceivedTime))
            {
                writer.WriteString("receivedTime", (string)ReceivedTime !);
            }

            if (_ReceivedTime != null)
            {
                writer.WritePropertyName("_receivedTime");
                _ReceivedTime.SerializeJson(writer, options);
            }

            if ((Parent != null) && (Parent.Count != 0))
            {
                writer.WritePropertyName("parent");
                writer.WriteStartArray();

                foreach (Reference valParent in Parent)
                {
                    valParent.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((Request != null) && (Request.Count != 0))
            {
                writer.WritePropertyName("request");
                writer.WriteStartArray();

                foreach (Reference valRequest in Request)
                {
                    valRequest.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (Collection != null)
            {
                writer.WritePropertyName("collection");
                Collection.SerializeJson(writer, options);
            }

            if ((Processing != null) && (Processing.Count != 0))
            {
                writer.WritePropertyName("processing");
                writer.WriteStartArray();

                foreach (SpecimenProcessing valProcessing in Processing)
                {
                    valProcessing.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((Container != null) && (Container.Count != 0))
            {
                writer.WritePropertyName("container");
                writer.WriteStartArray();

                foreach (SpecimenContainer valContainer in Container)
                {
                    valContainer.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((Condition != null) && (Condition.Count != 0))
            {
                writer.WritePropertyName("condition");
                writer.WriteStartArray();

                foreach (CodeableConcept valCondition in Condition)
                {
                    valCondition.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((Note != null) && (Note.Count != 0))
            {
                writer.WritePropertyName("note");
                writer.WriteStartArray();

                foreach (Annotation valNote in Note)
                {
                    valNote.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (includeStartObject)
            {
                writer.WriteEndObject();
            }
        }
Exemple #14
0
        /// <summary>
        /// Serialize to a JSON object
        /// </summary>
        public new void SerializeJson(Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true)
        {
            if (includeStartObject)
            {
                writer.WriteStartObject();
            }
            ((fhirCsR4.Models.BackboneElement) this).SerializeJson(writer, options, false);

            if ((Identifier != null) && (Identifier.Count != 0))
            {
                writer.WritePropertyName("identifier");
                writer.WriteStartArray();

                foreach (Identifier valIdentifier in Identifier)
                {
                    valIdentifier.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (!string.IsNullOrEmpty(Description))
            {
                writer.WriteString("description", (string)Description !);
            }

            if (_Description != null)
            {
                writer.WritePropertyName("_description");
                _Description.SerializeJson(writer, options);
            }

            if (Type != null)
            {
                writer.WritePropertyName("type");
                Type.SerializeJson(writer, options);
            }

            if (Capacity != null)
            {
                writer.WritePropertyName("capacity");
                Capacity.SerializeJson(writer, options);
            }

            if (SpecimenQuantity != null)
            {
                writer.WritePropertyName("specimenQuantity");
                SpecimenQuantity.SerializeJson(writer, options);
            }

            if (AdditiveCodeableConcept != null)
            {
                writer.WritePropertyName("additiveCodeableConcept");
                AdditiveCodeableConcept.SerializeJson(writer, options);
            }

            if (AdditiveReference != null)
            {
                writer.WritePropertyName("additiveReference");
                AdditiveReference.SerializeJson(writer, options);
            }

            if (includeStartObject)
            {
                writer.WriteEndObject();
            }
        }
 void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     if (Etag != null)
     {
         writer.WritePropertyName("etag");
         writer.WriteStringValue(Etag);
     }
     if (Id != null)
     {
         writer.WritePropertyName("id");
         writer.WriteStringValue(Id);
     }
     if (Name != null)
     {
         writer.WritePropertyName("name");
         writer.WriteStringValue(Name);
     }
     if (Type != null)
     {
         writer.WritePropertyName("type");
         writer.WriteStringValue(Type);
     }
     if (Location != null)
     {
         writer.WritePropertyName("location");
         writer.WriteStringValue(Location);
     }
     if (Tags != null)
     {
         writer.WritePropertyName("tags");
         writer.WriteStartObject();
         foreach (var item in Tags)
         {
             writer.WritePropertyName(item.Key);
             writer.WriteStringValue(item.Value);
         }
         writer.WriteEndObject();
     }
     writer.WritePropertyName("properties");
     writer.WriteStartObject();
     if (ProvisioningState != null)
     {
         writer.WritePropertyName("provisioningState");
         writer.WriteStringValue(ProvisioningState.Value.ToString());
     }
     if (SecurityProviderName != null)
     {
         writer.WritePropertyName("securityProviderName");
         writer.WriteStringValue(SecurityProviderName.Value.ToString());
     }
     if (ConnectionStatus != null)
     {
         writer.WritePropertyName("connectionStatus");
         writer.WriteStringValue(ConnectionStatus.Value.ToString());
     }
     if (VirtualHub != null)
     {
         writer.WritePropertyName("virtualHub");
         writer.WriteObjectValue(VirtualHub);
     }
     writer.WriteEndObject();
     writer.WriteEndObject();
 }
 void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     writer.WritePropertyName("type");
     writer.WriteStringValue(Type);
     if (Description != null)
     {
         writer.WritePropertyName("description");
         writer.WriteStringValue(Description);
     }
     if (Annotations != null)
     {
         writer.WritePropertyName("annotations");
         writer.WriteStartArray();
         foreach (var item in Annotations)
         {
             writer.WriteObjectValue(item);
         }
         writer.WriteEndArray();
     }
     if (Folder != null)
     {
         writer.WritePropertyName("folder");
         writer.WriteObjectValue(Folder);
     }
     writer.WritePropertyName("typeProperties");
     writer.WriteStartObject();
     if (Sources != null)
     {
         writer.WritePropertyName("sources");
         writer.WriteStartArray();
         foreach (var item in Sources)
         {
             writer.WriteObjectValue(item);
         }
         writer.WriteEndArray();
     }
     if (Sinks != null)
     {
         writer.WritePropertyName("sinks");
         writer.WriteStartArray();
         foreach (var item in Sinks)
         {
             writer.WriteObjectValue(item);
         }
         writer.WriteEndArray();
     }
     if (Transformations != null)
     {
         writer.WritePropertyName("transformations");
         writer.WriteStartArray();
         foreach (var item in Transformations)
         {
             writer.WriteObjectValue(item);
         }
         writer.WriteEndArray();
     }
     if (Script != null)
     {
         writer.WritePropertyName("script");
         writer.WriteStringValue(Script);
     }
     writer.WriteEndObject();
     writer.WriteEndObject();
 }
        public static void Write(Utf8JsonWriter writer, GeolocationControl value)
        {
            writer.WriteStartObject();
            writer.WriteString("id", value.Id);
            writer.WriteString("type", value.Type);
            if (value.Position.ToString() != default(ControlPosition).ToString())
            {
                writer.WriteString("position", value.Position.ToString());
            }
            if (value.Options is not null)
            {
                writer.WriteStartObject("options");
                if (value.Options.CalculateMissingValues.HasValue)
                {
                    writer.WriteBoolean("calculateMissingValues", value.Options.CalculateMissingValues.Value);
                }

                if (!string.IsNullOrWhiteSpace(value.Options.MarkerColor))
                {
                    writer.WriteString("markerColor", value.Options.MarkerColor);
                }

                if (value.Options.MaxZoom.HasValue)
                {
                    writer.WriteNumber("maxZoom", value.Options.MaxZoom.Value);
                }

                if (value.Options.PositionOptions is not null)
                {
                    writer.WriteStartObject();
                    if (value.Options.PositionOptions.EnableHighAccuracy.HasValue)
                    {
                        writer.WriteBoolean("enableHighAccuracy", value.Options.PositionOptions.EnableHighAccuracy.Value);
                    }

                    if (value.Options.PositionOptions.MaximumAge.HasValue)
                    {
                        writer.WriteNumber("maximumAge", value.Options.PositionOptions.MaximumAge.Value);
                    }

                    if (value.Options.PositionOptions.Timeout.HasValue)
                    {
                        writer.WriteNumber("timeout", value.Options.PositionOptions.Timeout.Value);
                    }

                    writer.WriteEndObject();
                }

                if (value.Options.ShowUserLocation.HasValue)
                {
                    writer.WriteBoolean("showUserLocation", value.Options.ShowUserLocation.Value);
                }

                if (value.Options.Style is not null)
                {
                    writer.WriteString("style", value.Options.Style.ToString());
                }

                if (value.Options.TrackUserLocation.HasValue)
                {
                    writer.WriteBoolean("trackUserLocation", value.Options.TrackUserLocation.Value);
                }

                if (value.Options.UpdateMapCamera.HasValue)
                {
                    writer.WriteBoolean("updateMapCamera", value.Options.UpdateMapCamera.Value);
                }

                writer.WriteEndObject();
            }
            writer.WriteEndObject();
        }
 void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     if (Optional.IsDefined(Kind))
     {
         writer.WritePropertyName("kind");
         writer.WriteStringValue(Kind);
     }
     writer.WritePropertyName("properties");
     writer.WriteStartObject();
     if (Optional.IsDefined(ContactAdmin))
     {
         writer.WritePropertyName("contactAdmin");
         writer.WriteObjectValue(ContactAdmin);
     }
     if (Optional.IsDefined(ContactBilling))
     {
         writer.WritePropertyName("contactBilling");
         writer.WriteObjectValue(ContactBilling);
     }
     if (Optional.IsDefined(ContactRegistrant))
     {
         writer.WritePropertyName("contactRegistrant");
         writer.WriteObjectValue(ContactRegistrant);
     }
     if (Optional.IsDefined(ContactTech))
     {
         writer.WritePropertyName("contactTech");
         writer.WriteObjectValue(ContactTech);
     }
     if (Optional.IsDefined(Privacy))
     {
         writer.WritePropertyName("privacy");
         writer.WriteBooleanValue(Privacy.Value);
     }
     if (Optional.IsDefined(AutoRenew))
     {
         writer.WritePropertyName("autoRenew");
         writer.WriteBooleanValue(AutoRenew.Value);
     }
     if (Optional.IsDefined(Consent))
     {
         writer.WritePropertyName("consent");
         writer.WriteObjectValue(Consent);
     }
     if (Optional.IsDefined(DnsType))
     {
         writer.WritePropertyName("dnsType");
         writer.WriteStringValue(DnsType.Value.ToSerialString());
     }
     if (Optional.IsDefined(DnsZoneId))
     {
         writer.WritePropertyName("dnsZoneId");
         writer.WriteStringValue(DnsZoneId);
     }
     if (Optional.IsDefined(TargetDnsType))
     {
         writer.WritePropertyName("targetDnsType");
         writer.WriteStringValue(TargetDnsType.Value.ToSerialString());
     }
     if (Optional.IsDefined(AuthCode))
     {
         writer.WritePropertyName("authCode");
         writer.WriteStringValue(AuthCode);
     }
     writer.WriteEndObject();
     writer.WriteEndObject();
 }
 void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     writer.WritePropertyName("type");
     writer.WriteStringValue(Type);
     if (Description != null)
     {
         writer.WritePropertyName("description");
         writer.WriteStringValue(Description);
     }
     if (Structure != null)
     {
         writer.WritePropertyName("structure");
         writer.WriteObjectValue(Structure);
     }
     if (Schema != null)
     {
         writer.WritePropertyName("schema");
         writer.WriteObjectValue(Schema);
     }
     writer.WritePropertyName("linkedServiceName");
     writer.WriteObjectValue(LinkedServiceName);
     if (Parameters != null)
     {
         writer.WritePropertyName("parameters");
         writer.WriteStartObject();
         foreach (var item in Parameters)
         {
             writer.WritePropertyName(item.Key);
             writer.WriteObjectValue(item.Value);
         }
         writer.WriteEndObject();
     }
     if (Annotations != null)
     {
         writer.WritePropertyName("annotations");
         writer.WriteStartArray();
         foreach (var item in Annotations)
         {
             writer.WriteObjectValue(item);
         }
         writer.WriteEndArray();
     }
     if (Folder != null)
     {
         writer.WritePropertyName("folder");
         writer.WriteObjectValue(Folder);
     }
     writer.WritePropertyName("typeProperties");
     writer.WriteStartObject();
     if (Location != null)
     {
         writer.WritePropertyName("location");
         writer.WriteObjectValue(Location);
     }
     if (EncodingName != null)
     {
         writer.WritePropertyName("encodingName");
         writer.WriteObjectValue(EncodingName);
     }
     if (Compression != null)
     {
         writer.WritePropertyName("compression");
         writer.WriteObjectValue(Compression);
     }
     writer.WriteEndObject();
     foreach (var item in AdditionalProperties)
     {
         writer.WritePropertyName(item.Key);
         writer.WriteObjectValue(item.Value);
     }
     writer.WriteEndObject();
 }
 void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     if (Optional.IsDefined(Plan))
     {
         writer.WritePropertyName("plan");
         writer.WriteObjectValue(Plan);
     }
     if (Optional.IsDefined(Identity))
     {
         writer.WritePropertyName("identity");
         JsonSerializer.Serialize(writer, Identity);
     }
     if (Optional.IsCollectionDefined(Zones))
     {
         writer.WritePropertyName("zones");
         writer.WriteStartArray();
         foreach (var item in Zones)
         {
             writer.WriteStringValue(item);
         }
         writer.WriteEndArray();
     }
     if (Optional.IsCollectionDefined(Tags))
     {
         writer.WritePropertyName("tags");
         writer.WriteStartObject();
         foreach (var item in Tags)
         {
             writer.WritePropertyName(item.Key);
             writer.WriteStringValue(item.Value);
         }
         writer.WriteEndObject();
     }
     writer.WritePropertyName("properties");
     writer.WriteStartObject();
     if (Optional.IsDefined(HardwareProfile))
     {
         writer.WritePropertyName("hardwareProfile");
         writer.WriteObjectValue(HardwareProfile);
     }
     if (Optional.IsDefined(StorageProfile))
     {
         writer.WritePropertyName("storageProfile");
         writer.WriteObjectValue(StorageProfile);
     }
     if (Optional.IsDefined(AdditionalCapabilities))
     {
         writer.WritePropertyName("additionalCapabilities");
         writer.WriteObjectValue(AdditionalCapabilities);
     }
     if (Optional.IsDefined(OsProfile))
     {
         writer.WritePropertyName("osProfile");
         writer.WriteObjectValue(OsProfile);
     }
     if (Optional.IsDefined(NetworkProfile))
     {
         writer.WritePropertyName("networkProfile");
         writer.WriteObjectValue(NetworkProfile);
     }
     if (Optional.IsDefined(SecurityProfile))
     {
         writer.WritePropertyName("securityProfile");
         writer.WriteObjectValue(SecurityProfile);
     }
     if (Optional.IsDefined(DiagnosticsProfile))
     {
         writer.WritePropertyName("diagnosticsProfile");
         writer.WriteObjectValue(DiagnosticsProfile);
     }
     if (Optional.IsDefined(AvailabilitySet))
     {
         writer.WritePropertyName("availabilitySet");
         writer.WriteObjectValue(AvailabilitySet);
     }
     if (Optional.IsDefined(VirtualMachineScaleSet))
     {
         writer.WritePropertyName("virtualMachineScaleSet");
         writer.WriteObjectValue(VirtualMachineScaleSet);
     }
     if (Optional.IsDefined(ProximityPlacementGroup))
     {
         writer.WritePropertyName("proximityPlacementGroup");
         writer.WriteObjectValue(ProximityPlacementGroup);
     }
     if (Optional.IsDefined(Priority))
     {
         writer.WritePropertyName("priority");
         writer.WriteStringValue(Priority.Value.ToString());
     }
     if (Optional.IsDefined(EvictionPolicy))
     {
         writer.WritePropertyName("evictionPolicy");
         writer.WriteStringValue(EvictionPolicy.Value.ToString());
     }
     if (Optional.IsDefined(BillingProfile))
     {
         writer.WritePropertyName("billingProfile");
         writer.WriteObjectValue(BillingProfile);
     }
     if (Optional.IsDefined(Host))
     {
         writer.WritePropertyName("host");
         writer.WriteObjectValue(Host);
     }
     if (Optional.IsDefined(HostGroup))
     {
         writer.WritePropertyName("hostGroup");
         writer.WriteObjectValue(HostGroup);
     }
     if (Optional.IsDefined(LicenseType))
     {
         writer.WritePropertyName("licenseType");
         writer.WriteStringValue(LicenseType);
     }
     if (Optional.IsDefined(ExtensionsTimeBudget))
     {
         writer.WritePropertyName("extensionsTimeBudget");
         writer.WriteStringValue(ExtensionsTimeBudget);
     }
     if (Optional.IsDefined(PlatformFaultDomain))
     {
         writer.WritePropertyName("platformFaultDomain");
         writer.WriteNumberValue(PlatformFaultDomain.Value);
     }
     if (Optional.IsDefined(ScheduledEventsProfile))
     {
         writer.WritePropertyName("scheduledEventsProfile");
         writer.WriteObjectValue(ScheduledEventsProfile);
     }
     if (Optional.IsDefined(UserData))
     {
         writer.WritePropertyName("userData");
         writer.WriteStringValue(UserData);
     }
     writer.WriteEndObject();
     writer.WriteEndObject();
 }
 void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     if (Etag != null)
     {
         writer.WritePropertyName("etag");
         writer.WriteStringValue(Etag);
     }
     if (Id != null)
     {
         writer.WritePropertyName("id");
         writer.WriteStringValue(Id);
     }
     if (Name != null)
     {
         writer.WritePropertyName("name");
         writer.WriteStringValue(Name);
     }
     if (Type != null)
     {
         writer.WritePropertyName("type");
         writer.WriteStringValue(Type);
     }
     if (Location != null)
     {
         writer.WritePropertyName("location");
         writer.WriteStringValue(Location);
     }
     if (Tags != null)
     {
         writer.WritePropertyName("tags");
         writer.WriteStartObject();
         foreach (var item in Tags)
         {
             writer.WritePropertyName(item.Key);
             writer.WriteStringValue(item.Value);
         }
         writer.WriteEndObject();
     }
     writer.WritePropertyName("properties");
     writer.WriteStartObject();
     if (IpConfigurations != null)
     {
         writer.WritePropertyName("ipConfigurations");
         writer.WriteStartArray();
         foreach (var item in IpConfigurations)
         {
             writer.WriteObjectValue(item);
         }
         writer.WriteEndArray();
     }
     if (GatewayType != null)
     {
         writer.WritePropertyName("gatewayType");
         writer.WriteStringValue(GatewayType.Value.ToString());
     }
     if (VpnType != null)
     {
         writer.WritePropertyName("vpnType");
         writer.WriteStringValue(VpnType.Value.ToString());
     }
     if (VpnGatewayGeneration != null)
     {
         writer.WritePropertyName("vpnGatewayGeneration");
         writer.WriteStringValue(VpnGatewayGeneration.Value.ToString());
     }
     if (EnableBgp != null)
     {
         writer.WritePropertyName("enableBgp");
         writer.WriteBooleanValue(EnableBgp.Value);
     }
     if (EnablePrivateIpAddress != null)
     {
         writer.WritePropertyName("enablePrivateIpAddress");
         writer.WriteBooleanValue(EnablePrivateIpAddress.Value);
     }
     if (Active != null)
     {
         writer.WritePropertyName("activeActive");
         writer.WriteBooleanValue(Active.Value);
     }
     if (GatewayDefaultSite != null)
     {
         writer.WritePropertyName("gatewayDefaultSite");
         writer.WriteObjectValue(GatewayDefaultSite);
     }
     if (Sku != null)
     {
         writer.WritePropertyName("sku");
         writer.WriteObjectValue(Sku);
     }
     if (VpnClientConfiguration != null)
     {
         writer.WritePropertyName("vpnClientConfiguration");
         writer.WriteObjectValue(VpnClientConfiguration);
     }
     if (BgpSettings != null)
     {
         writer.WritePropertyName("bgpSettings");
         writer.WriteObjectValue(BgpSettings);
     }
     if (CustomRoutes != null)
     {
         writer.WritePropertyName("customRoutes");
         writer.WriteObjectValue(CustomRoutes);
     }
     if (ResourceGuid != null)
     {
         writer.WritePropertyName("resourceGuid");
         writer.WriteStringValue(ResourceGuid);
     }
     if (ProvisioningState != null)
     {
         writer.WritePropertyName("provisioningState");
         writer.WriteStringValue(ProvisioningState.Value.ToString());
     }
     if (EnableDnsForwarding != null)
     {
         writer.WritePropertyName("enableDnsForwarding");
         writer.WriteBooleanValue(EnableDnsForwarding.Value);
     }
     if (InboundDnsForwardingEndpoint != null)
     {
         writer.WritePropertyName("inboundDnsForwardingEndpoint");
         writer.WriteStringValue(InboundDnsForwardingEndpoint);
     }
     writer.WriteEndObject();
     writer.WriteEndObject();
 }
Exemple #22
0
 void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     if (Optional.IsCollectionDefined(AllowedModels))
     {
         if (AllowedModels != null)
         {
             writer.WritePropertyName("allowedModels");
             writer.WriteStartArray();
             foreach (var item in AllowedModels)
             {
                 writer.WriteStringValue(item.ToString());
             }
             writer.WriteEndArray();
         }
         else
         {
             writer.WriteNull("allowedModels");
         }
     }
     if (Optional.IsCollectionDefined(BlockedModels))
     {
         if (BlockedModels != null)
         {
             writer.WritePropertyName("blockedModels");
             writer.WriteStartArray();
             foreach (var item in BlockedModels)
             {
                 writer.WriteStringValue(item.ToString());
             }
             writer.WriteEndArray();
         }
         else
         {
             writer.WriteNull("blockedModels");
         }
     }
     if (Optional.IsDefined(ForecastingSettings))
     {
         if (ForecastingSettings != null)
         {
             writer.WritePropertyName("forecastingSettings");
             writer.WriteObjectValue(ForecastingSettings);
         }
         else
         {
             writer.WriteNull("forecastingSettings");
         }
     }
     if (Optional.IsDefined(PrimaryMetric))
     {
         writer.WritePropertyName("primaryMetric");
         writer.WriteStringValue(PrimaryMetric.Value.ToString());
     }
     if (Optional.IsDefined(DataSettings))
     {
         if (DataSettings != null)
         {
             writer.WritePropertyName("dataSettings");
             writer.WriteObjectValue(DataSettings);
         }
         else
         {
             writer.WriteNull("dataSettings");
         }
     }
     if (Optional.IsDefined(FeaturizationSettings))
     {
         if (FeaturizationSettings != null)
         {
             writer.WritePropertyName("featurizationSettings");
             writer.WriteObjectValue(FeaturizationSettings);
         }
         else
         {
             writer.WriteNull("featurizationSettings");
         }
     }
     if (Optional.IsDefined(LimitSettings))
     {
         if (LimitSettings != null)
         {
             writer.WritePropertyName("limitSettings");
             writer.WriteObjectValue(LimitSettings);
         }
         else
         {
             writer.WriteNull("limitSettings");
         }
     }
     if (Optional.IsDefined(TrainingSettings))
     {
         if (TrainingSettings != null)
         {
             writer.WritePropertyName("trainingSettings");
             writer.WriteObjectValue(TrainingSettings);
         }
         else
         {
             writer.WriteNull("trainingSettings");
         }
     }
     if (Optional.IsDefined(LogVerbosity))
     {
         writer.WritePropertyName("logVerbosity");
         writer.WriteStringValue(LogVerbosity.Value.ToString());
     }
     writer.WritePropertyName("taskType");
     writer.WriteStringValue(TaskType.ToString());
     writer.WriteEndObject();
 }
Exemple #23
0
 void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     writer.WritePropertyName("type");
     writer.WriteStringValue(Type);
     if (Optional.IsDefined(ConnectVia))
     {
         writer.WritePropertyName("connectVia");
         writer.WriteObjectValue(ConnectVia);
     }
     if (Optional.IsDefined(Description))
     {
         writer.WritePropertyName("description");
         writer.WriteStringValue(Description);
     }
     if (Optional.IsCollectionDefined(Parameters))
     {
         writer.WritePropertyName("parameters");
         writer.WriteStartObject();
         foreach (var item in Parameters)
         {
             writer.WritePropertyName(item.Key);
             writer.WriteObjectValue(item.Value);
         }
         writer.WriteEndObject();
     }
     if (Optional.IsCollectionDefined(Annotations))
     {
         writer.WritePropertyName("annotations");
         writer.WriteStartArray();
         foreach (var item in Annotations)
         {
             writer.WriteObjectValue(item);
         }
         writer.WriteEndArray();
     }
     writer.WritePropertyName("typeProperties");
     writer.WriteStartObject();
     if (Optional.IsDefined(ConnectionString))
     {
         writer.WritePropertyName("connectionString");
         writer.WriteObjectValue(ConnectionString);
     }
     if (Optional.IsDefined(AccountEndpoint))
     {
         writer.WritePropertyName("accountEndpoint");
         writer.WriteObjectValue(AccountEndpoint);
     }
     if (Optional.IsDefined(Database))
     {
         writer.WritePropertyName("database");
         writer.WriteObjectValue(Database);
     }
     if (Optional.IsDefined(AccountKey))
     {
         writer.WritePropertyName("accountKey");
         writer.WriteObjectValue(AccountKey);
     }
     if (Optional.IsDefined(EncryptedCredential))
     {
         writer.WritePropertyName("encryptedCredential");
         writer.WriteObjectValue(EncryptedCredential);
     }
     writer.WriteEndObject();
     foreach (var item in AdditionalProperties)
     {
         writer.WritePropertyName(item.Key);
         writer.WriteObjectValue(item.Value);
     }
     writer.WriteEndObject();
 }
 public void WriteEndObject() => _writer.WriteEndObject();
 void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     writer.WritePropertyName("type");
     writer.WriteStringValue(Type);
     if (Optional.IsDefined(Description))
     {
         writer.WritePropertyName("description");
         writer.WriteStringValue(Description);
     }
     if (Optional.IsDefined(Structure))
     {
         writer.WritePropertyName("structure");
         writer.WriteObjectValue(Structure);
     }
     if (Optional.IsDefined(Schema))
     {
         writer.WritePropertyName("schema");
         writer.WriteObjectValue(Schema);
     }
     writer.WritePropertyName("linkedServiceName");
     writer.WriteObjectValue(LinkedServiceName);
     if (Optional.IsCollectionDefined(Parameters))
     {
         writer.WritePropertyName("parameters");
         writer.WriteStartObject();
         foreach (var item in Parameters)
         {
             writer.WritePropertyName(item.Key);
             writer.WriteObjectValue(item.Value);
         }
         writer.WriteEndObject();
     }
     if (Optional.IsCollectionDefined(Annotations))
     {
         writer.WritePropertyName("annotations");
         writer.WriteStartArray();
         foreach (var item in Annotations)
         {
             writer.WriteObjectValue(item);
         }
         writer.WriteEndArray();
     }
     if (Optional.IsDefined(Folder))
     {
         writer.WritePropertyName("folder");
         writer.WriteObjectValue(Folder);
     }
     writer.WritePropertyName("typeProperties");
     writer.WriteStartObject();
     if (Optional.IsDefined(TableName))
     {
         writer.WritePropertyName("tableName");
         writer.WriteObjectValue(TableName);
     }
     writer.WriteEndObject();
     foreach (var item in AdditionalProperties)
     {
         writer.WritePropertyName(item.Key);
         writer.WriteObjectValue(item.Value);
     }
     writer.WriteEndObject();
 }
Exemple #26
0
 void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     if (Plan != null)
     {
         writer.WritePropertyName("plan");
         writer.WriteObjectValue(Plan);
     }
     if (Kind != null)
     {
         writer.WritePropertyName("kind");
         writer.WriteStringValue(Kind);
     }
     if (ManagedBy != null)
     {
         writer.WritePropertyName("managedBy");
         writer.WriteStringValue(ManagedBy);
     }
     if (Sku != null)
     {
         writer.WritePropertyName("sku");
         writer.WriteObjectValue(Sku);
     }
     if (Identity != null)
     {
         writer.WritePropertyName("identity");
         writer.WriteObjectValue(Identity);
     }
     if (Id != null)
     {
         writer.WritePropertyName("id");
         writer.WriteStringValue(Id);
     }
     if (Name != null)
     {
         writer.WritePropertyName("name");
         writer.WriteStringValue(Name);
     }
     if (Type != null)
     {
         writer.WritePropertyName("type");
         writer.WriteStringValue(Type);
     }
     if (Location != null)
     {
         writer.WritePropertyName("location");
         writer.WriteStringValue(Location);
     }
     if (Tags != null)
     {
         writer.WritePropertyName("tags");
         writer.WriteStartObject();
         foreach (var item in Tags)
         {
             writer.WritePropertyName(item.Key);
             writer.WriteStringValue(item.Value);
         }
         writer.WriteEndObject();
     }
     writer.WritePropertyName("properties");
     writer.WriteStartObject();
     if (ManagedResourceGroupId != null)
     {
         writer.WritePropertyName("managedResourceGroupId");
         writer.WriteStringValue(ManagedResourceGroupId);
     }
     if (ApplicationDefinitionId != null)
     {
         writer.WritePropertyName("applicationDefinitionId");
         writer.WriteStringValue(ApplicationDefinitionId);
     }
     if (Parameters != null)
     {
         writer.WritePropertyName("parameters");
         writer.WriteObjectValue(Parameters);
     }
     if (Outputs != null)
     {
         writer.WritePropertyName("outputs");
         writer.WriteObjectValue(Outputs);
     }
     if (ProvisioningState != null)
     {
         writer.WritePropertyName("provisioningState");
         writer.WriteStringValue(ProvisioningState.Value.ToString());
     }
     writer.WriteEndObject();
     writer.WriteEndObject();
 }
Exemple #27
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            log.LogInformation("Csv converter function processed a request.");

            var request = await JsonSerializer.DeserializeAsync <FileRequest>(req.Body);

            if (request is null ||
                string.IsNullOrWhiteSpace(request.CsvUri) ||
                string.IsNullOrWhiteSpace(request.MapUri))
            {
                return(new BadRequestObjectResult(
                           new
                {
                    error = "Missing mandatory parameters."
                }));
            }

            var csvContent = await _client.GetStringAsync(request.CsvUri);

            var mapContent = await _client.GetFromJsonAsync <Map>(request.MapUri);

            using var reader = new StringReader(csvContent);
            using var parser = new TextFieldParser(reader);

            parser.SetDelimiters(new string[] { mapContent.Delimiter });
            parser.HasFieldsEnclosedInQuotes = mapContent.UseQuotes;

            var headers = parser.ReadFields();

            var sharedFields = mapContent.FieldMappings.Select(m => m.Name).Union(headers).Count();

            if (sharedFields != headers.Length)
            {
                return(new BadRequestObjectResult(
                           new
                {
                    error = "Invalid map file for given csv file."
                }));
            }

            var map = new Dictionary <string, MapType>();

            foreach (var mapping in mapContent.FieldMappings)
            {
                var type = mapping.Type switch
                {
                    "string" => MapType.String,
                    "integer" => MapType.Integer,
                    "number" => MapType.Number,
                    "datetime" => MapType.DateTime,
                    _ => MapType.String
                };

                map.Add(mapping.Name, type);
            }

            using var output = new MemoryStream();
            using var writer = new Utf8JsonWriter(output);

            writer.WriteStartArray();
            while (!parser.EndOfData)
            {
                var fields = parser.ReadFields();

                writer.WriteStartObject();
                for (int i = 0; i < headers.Length; i++)
                {
                    var header   = headers[i];
                    var field    = fields[i];
                    var fieldMap = map[header];

                    if (string.IsNullOrEmpty(field))
                    {
                        writer.WriteNull(header);
                    }
                    else
                    {
                        switch (fieldMap)
                        {
                        case MapType.Integer:
                            if (int.TryParse(field, out var intResult))
                            {
                                writer.WriteNumber(header, intResult);
                            }
                            else
                            {
                                writer.WriteNull(header);
                            }
                            break;

                        case MapType.Number:
                            if (double.TryParse(field, out var doubleResult))
                            {
                                writer.WriteNumber(header, doubleResult);
                            }
                            else
                            {
                                writer.WriteNull(header);
                            }
                            break;

                        case MapType.DateTime:
                            if (DateTime.TryParse(field, out var dateResult))
                            {
                                writer.WriteString(header, dateResult);
                            }
                            else
                            {
                                writer.WriteNull(header);
                            }
                            break;

                        default:
                            writer.WriteString(header, field);
                            break;
                        }
                    }
                }

                writer.WriteEndObject();
            }

            writer.WriteEndArray();
            await writer.FlushAsync();

            output.Seek(0, SeekOrigin.Begin);
            var json = Encoding.UTF8.GetString(output.ToArray());

            return(new ContentResult()
            {
                Content = json,
                ContentType = MediaTypeNames.Application.Json,
                StatusCode = StatusCodes.Status200OK
            });
        }
    }
 void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     if (Optional.IsDefined(Sku))
     {
         writer.WritePropertyName("sku");
         writer.WriteObjectValue(Sku);
     }
     if (Optional.IsDefined(Plan))
     {
         writer.WritePropertyName("plan");
         writer.WriteObjectValue(Plan);
     }
     if (Optional.IsDefined(Identity))
     {
         writer.WritePropertyName("identity");
         writer.WriteObjectValue(Identity);
     }
     if (Optional.IsCollectionDefined(Tags))
     {
         writer.WritePropertyName("tags");
         writer.WriteStartObject();
         foreach (var item in Tags)
         {
             writer.WritePropertyName(item.Key);
             writer.WriteStringValue(item.Value);
         }
         writer.WriteEndObject();
     }
     writer.WritePropertyName("properties");
     writer.WriteStartObject();
     if (Optional.IsDefined(UpgradePolicy))
     {
         writer.WritePropertyName("upgradePolicy");
         writer.WriteObjectValue(UpgradePolicy);
     }
     if (Optional.IsDefined(AutomaticRepairsPolicy))
     {
         writer.WritePropertyName("automaticRepairsPolicy");
         writer.WriteObjectValue(AutomaticRepairsPolicy);
     }
     if (Optional.IsDefined(VirtualMachineProfile))
     {
         writer.WritePropertyName("virtualMachineProfile");
         writer.WriteObjectValue(VirtualMachineProfile);
     }
     if (Optional.IsDefined(Overprovision))
     {
         writer.WritePropertyName("overprovision");
         writer.WriteBooleanValue(Overprovision.Value);
     }
     if (Optional.IsDefined(DoNotRunExtensionsOnOverprovisionedVMs))
     {
         writer.WritePropertyName("doNotRunExtensionsOnOverprovisionedVMs");
         writer.WriteBooleanValue(DoNotRunExtensionsOnOverprovisionedVMs.Value);
     }
     if (Optional.IsDefined(SinglePlacementGroup))
     {
         writer.WritePropertyName("singlePlacementGroup");
         writer.WriteBooleanValue(SinglePlacementGroup.Value);
     }
     if (Optional.IsDefined(AdditionalCapabilities))
     {
         writer.WritePropertyName("additionalCapabilities");
         writer.WriteObjectValue(AdditionalCapabilities);
     }
     if (Optional.IsDefined(ScaleInPolicy))
     {
         writer.WritePropertyName("scaleInPolicy");
         writer.WriteObjectValue(ScaleInPolicy);
     }
     if (Optional.IsDefined(ProximityPlacementGroup))
     {
         writer.WritePropertyName("proximityPlacementGroup");
         writer.WriteObjectValue(ProximityPlacementGroup);
     }
     writer.WriteEndObject();
     writer.WriteEndObject();
 }
Exemple #29
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            app.UseMiddleware <Middleware>();
            app.UseResponseCompression();

#if NETCOREAPP_3_1
            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
#else
            app.UseSwagger();

            app.UseMvc();
#endif
            app.Run(async(context) =>
            {
#if NETCOREAPP_2_1
                var root         = new JObject();
                root["Path"]     = new JValue(context.Request.Path);
                root["PathBase"] = new JValue(context.Request.PathBase);

                var query = new JObject();
                foreach (var queryKey in context.Request.Query.Keys)
                {
                    var variables = new JArray();
                    foreach (var v in context.Request.Query[queryKey])
                    {
                        variables.Add(new JValue(v));
                    }
                    query[queryKey] = variables;
                }
                root["QueryVariables"] = query;

                var body = root.ToString();
#else
                var stream = new MemoryStream();
                var writer = new Utf8JsonWriter(stream);
                writer.WriteStartObject();
                writer.WriteString("Path", context.Request.Path);
                writer.WriteString("PathBase", context.Request.PathBase);
                writer.WriteStartObject("QueryVariables");
                foreach (var queryKey in context.Request.Query.Keys)
                {
                    writer.WriteStartArray(queryKey);
                    foreach (var v in context.Request.Query[queryKey])
                    {
                        writer.WriteStringValue(v);
                    }
                    writer.WriteEndArray();
                }
                writer.WriteEndObject();
                writer.WriteEndObject();
                writer.Dispose();
                stream.Position = 0;
                var body        = new StreamReader(stream).ReadToEnd();
#endif
                context.Response.Headers["Content-Type"] = "application/json";
                await context.Response.WriteAsync(body);
            });
        }
Exemple #30
0
 void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     if (Optional.IsDefined(Sku))
     {
         writer.WritePropertyName("sku");
         writer.WriteObjectValue(Sku);
     }
     if (Optional.IsDefined(ExtendedLocation))
     {
         writer.WritePropertyName("extendedLocation");
         writer.WriteObjectValue(ExtendedLocation);
     }
     if (Optional.IsDefined(Kind))
     {
         writer.WritePropertyName("kind");
         writer.WriteStringValue(Kind);
     }
     writer.WritePropertyName("tags");
     writer.WriteStartObject();
     foreach (var item in Tags)
     {
         writer.WritePropertyName(item.Key);
         writer.WriteStringValue(item.Value);
     }
     writer.WriteEndObject();
     writer.WritePropertyName("location");
     writer.WriteStringValue(Location);
     writer.WritePropertyName("properties");
     writer.WriteStartObject();
     if (Optional.IsDefined(WorkerTierName))
     {
         writer.WritePropertyName("workerTierName");
         writer.WriteStringValue(WorkerTierName);
     }
     if (Optional.IsDefined(HostingEnvironmentProfile))
     {
         if (HostingEnvironmentProfile != null)
         {
             writer.WritePropertyName("hostingEnvironmentProfile");
             writer.WriteObjectValue(HostingEnvironmentProfile);
         }
         else
         {
             writer.WriteNull("hostingEnvironmentProfile");
         }
     }
     if (Optional.IsDefined(PerSiteScaling))
     {
         writer.WritePropertyName("perSiteScaling");
         writer.WriteBooleanValue(PerSiteScaling.Value);
     }
     if (Optional.IsDefined(ElasticScaleEnabled))
     {
         writer.WritePropertyName("elasticScaleEnabled");
         writer.WriteBooleanValue(ElasticScaleEnabled.Value);
     }
     if (Optional.IsDefined(MaximumElasticWorkerCount))
     {
         writer.WritePropertyName("maximumElasticWorkerCount");
         writer.WriteNumberValue(MaximumElasticWorkerCount.Value);
     }
     if (Optional.IsDefined(IsSpot))
     {
         writer.WritePropertyName("isSpot");
         writer.WriteBooleanValue(IsSpot.Value);
     }
     if (Optional.IsDefined(SpotExpirationTime))
     {
         if (SpotExpirationTime != null)
         {
             writer.WritePropertyName("spotExpirationTime");
             writer.WriteStringValue(SpotExpirationTime.Value, "O");
         }
         else
         {
             writer.WriteNull("spotExpirationTime");
         }
     }
     if (Optional.IsDefined(FreeOfferExpirationTime))
     {
         if (FreeOfferExpirationTime != null)
         {
             writer.WritePropertyName("freeOfferExpirationTime");
             writer.WriteStringValue(FreeOfferExpirationTime.Value, "O");
         }
         else
         {
             writer.WriteNull("freeOfferExpirationTime");
         }
     }
     if (Optional.IsDefined(Reserved))
     {
         writer.WritePropertyName("reserved");
         writer.WriteBooleanValue(Reserved.Value);
     }
     if (Optional.IsDefined(IsXenon))
     {
         writer.WritePropertyName("isXenon");
         writer.WriteBooleanValue(IsXenon.Value);
     }
     if (Optional.IsDefined(HyperV))
     {
         writer.WritePropertyName("hyperV");
         writer.WriteBooleanValue(HyperV.Value);
     }
     if (Optional.IsDefined(TargetWorkerCount))
     {
         writer.WritePropertyName("targetWorkerCount");
         writer.WriteNumberValue(TargetWorkerCount.Value);
     }
     if (Optional.IsDefined(TargetWorkerSizeId))
     {
         writer.WritePropertyName("targetWorkerSizeId");
         writer.WriteNumberValue(TargetWorkerSizeId.Value);
     }
     if (Optional.IsDefined(KubeEnvironmentProfile))
     {
         if (KubeEnvironmentProfile != null)
         {
             writer.WritePropertyName("kubeEnvironmentProfile");
             writer.WriteObjectValue(KubeEnvironmentProfile);
         }
         else
         {
             writer.WriteNull("kubeEnvironmentProfile");
         }
     }
     if (Optional.IsDefined(ZoneRedundant))
     {
         writer.WritePropertyName("zoneRedundant");
         writer.WriteBooleanValue(ZoneRedundant.Value);
     }
     writer.WriteEndObject();
     writer.WriteEndObject();
 }