コード例 #1
0
 internal UsageBatchEventOkMessage(Guid?usageEventId, UsageEventStatusEnum?status, DateTimeOffset?messageTime, Guid?resourceId, string resourceUri, double?quantity, string dimension, DateTimeOffset?effectiveStartTime, string planId, UsageEventConflictResponse error)
 {
     UsageEventId       = usageEventId;
     Status             = status;
     MessageTime        = messageTime;
     ResourceId         = resourceId;
     ResourceUri        = resourceUri;
     Quantity           = quantity;
     Dimension          = dimension;
     EffectiveStartTime = effectiveStartTime;
     PlanId             = planId;
     Error = error;
 }
コード例 #2
0
        internal static UsageBatchEventOkMessage DeserializeUsageBatchEventOkMessage(JsonElement element)
        {
            Optional <Guid> usageEventId                             = default;
            Optional <UsageEventStatusEnum> status                   = default;
            Optional <DateTimeOffset>       messageTime              = default;
            Optional <Guid>                       resourceId         = default;
            Optional <string>                     resourceUri        = default;
            Optional <double>                     quantity           = default;
            Optional <string>                     dimension          = default;
            Optional <DateTimeOffset>             effectiveStartTime = default;
            Optional <string>                     planId             = default;
            Optional <UsageEventConflictResponse> error              = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("usageEventId"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    usageEventId = property.Value.GetGuid();
                    continue;
                }
                if (property.NameEquals("status"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    status = property.Value.GetString().ToUsageEventStatusEnum();
                    continue;
                }
                if (property.NameEquals("messageTime"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    messageTime = property.Value.GetDateTimeOffset("O");
                    continue;
                }
                if (property.NameEquals("resourceId"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    resourceId = property.Value.GetGuid();
                    continue;
                }
                if (property.NameEquals("resourceUri"))
                {
                    resourceUri = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("quantity"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    quantity = property.Value.GetDouble();
                    continue;
                }
                if (property.NameEquals("dimension"))
                {
                    dimension = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("effectiveStartTime"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    effectiveStartTime = property.Value.GetDateTimeOffset("O");
                    continue;
                }
                if (property.NameEquals("planId"))
                {
                    planId = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("error"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    error = UsageEventConflictResponse.DeserializeUsageEventConflictResponse(property.Value);
                    continue;
                }
            }
            return(new UsageBatchEventOkMessage(Optional.ToNullable(usageEventId), Optional.ToNullable(status), Optional.ToNullable(messageTime), Optional.ToNullable(resourceId), resourceUri.Value, Optional.ToNullable(quantity), dimension.Value, Optional.ToNullable(effectiveStartTime), planId.Value, error.Value));
        }