示例#1
0
        internal static TaskAddResult DeserializeTaskAddResult(JsonElement element)
        {
            TaskAddStatus  status       = default;
            string         taskId       = default;
            string         eTag         = default;
            DateTimeOffset?lastModified = default;
            string         location     = default;
            BatchError     error        = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("status"))
                {
                    status = property.Value.GetString().ToTaskAddStatus();
                    continue;
                }
                if (property.NameEquals("taskId"))
                {
                    taskId = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("eTag"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    eTag = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("lastModified"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    lastModified = property.Value.GetDateTimeOffset("S");
                    continue;
                }
                if (property.NameEquals("location"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    location = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("error"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    error = BatchError.DeserializeBatchError(property.Value);
                    continue;
                }
            }
            return(new TaskAddResult(status, taskId, eTag, lastModified, location, error));
        }
示例#2
0
 internal TaskAddResult(TaskAddStatus status, string taskId, string eTag, DateTimeOffset?lastModified, string location, BatchError error)
 {
     Status       = status;
     TaskId       = taskId;
     ETag         = eTag;
     LastModified = lastModified;
     Location     = location;
     Error        = error;
 }