Пример #1
0
        internal static AppVersionApiModel DeserializeAppVersionApiModel(XElement element)
        {
            string                     appIdentifier = default;
            DateTimeOffset?            createTime    = default;
            bool?                      forceUpdate   = default;
            long?                      id            = default;
            string                     name          = default;
            AppVersionApiModelPlatform?platform      = default;
            string                     storeUrl      = default;
            int?   versionCode = default;
            string versionName = default;

            if (element.Element("appIdentifier") is XElement appIdentifierElement)
            {
                appIdentifier = (string)appIdentifierElement;
            }
            if (element.Element("createTime") is XElement createTimeElement)
            {
                createTime = createTimeElement.GetDateTimeOffsetValue("O");
            }
            if (element.Element("forceUpdate") is XElement forceUpdateElement)
            {
                forceUpdate = (bool?)forceUpdateElement;
            }
            if (element.Element("id") is XElement idElement)
            {
                id = (long?)idElement;
            }
            if (element.Element("name") is XElement nameElement)
            {
                name = (string)nameElement;
            }
            if (element.Element("platform") is XElement platformElement)
            {
                platform = new AppVersionApiModelPlatform(platformElement.Value);
            }
            if (element.Element("storeUrl") is XElement storeUrlElement)
            {
                storeUrl = (string)storeUrlElement;
            }
            if (element.Element("versionCode") is XElement versionCodeElement)
            {
                versionCode = (int?)versionCodeElement;
            }
            if (element.Element("versionName") is XElement versionNameElement)
            {
                versionName = (string)versionNameElement;
            }
            return(new AppVersionApiModel(appIdentifier, createTime, forceUpdate, id, name, platform, storeUrl, versionCode, versionName));
        }
Пример #2
0
        internal static AppVersionApiModel DeserializeAppVersionApiModel(JsonElement element)
        {
            Optional <string>                     appIdentifier = default;
            Optional <DateTimeOffset>             createTime    = default;
            Optional <bool>                       forceUpdate   = default;
            Optional <long>                       id            = default;
            Optional <string>                     name          = default;
            Optional <AppVersionApiModelPlatform> platform      = default;
            Optional <string>                     storeUrl      = default;
            Optional <int>    versionCode = default;
            Optional <string> versionName = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("appIdentifier"))
                {
                    appIdentifier = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("createTime"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    createTime = property.Value.GetDateTimeOffset("O");
                    continue;
                }
                if (property.NameEquals("forceUpdate"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    forceUpdate = property.Value.GetBoolean();
                    continue;
                }
                if (property.NameEquals("id"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    id = property.Value.GetInt64();
                    continue;
                }
                if (property.NameEquals("name"))
                {
                    name = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("platform"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    platform = new AppVersionApiModelPlatform(property.Value.GetString());
                    continue;
                }
                if (property.NameEquals("storeUrl"))
                {
                    storeUrl = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("versionCode"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    versionCode = property.Value.GetInt32();
                    continue;
                }
                if (property.NameEquals("versionName"))
                {
                    versionName = property.Value.GetString();
                    continue;
                }
            }
            return(new AppVersionApiModel(appIdentifier.Value, Optional.ToNullable(createTime), Optional.ToNullable(forceUpdate), Optional.ToNullable(id), name.Value, Optional.ToNullable(platform), storeUrl.Value, Optional.ToNullable(versionCode), versionName.Value));
        }