Ejemplo n.º 1
0
 internal CloudJob(string id, string displayName, bool?usesTaskDependencies, string url, string eTag, DateTimeOffset?lastModified, DateTimeOffset?creationTime, JobState?state, DateTimeOffset?stateTransitionTime, JobState?previousState, DateTimeOffset?previousStateTransitionTime, int?priority, JobConstraints constraints, JobManagerTask jobManagerTask, JobPreparationTask jobPreparationTask, JobReleaseTask jobReleaseTask, IReadOnlyList <EnvironmentSetting> commonEnvironmentSettings, PoolInformation poolInfo, OnAllTasksComplete?onAllTasksComplete, OnTaskFailure?onTaskFailure, JobNetworkConfiguration networkConfiguration, IReadOnlyList <MetadataItem> metadata, JobExecutionInformation executionInfo, JobStatistics stats)
 {
     Id                          = id;
     DisplayName                 = displayName;
     UsesTaskDependencies        = usesTaskDependencies;
     Url                         = url;
     ETag                        = eTag;
     LastModified                = lastModified;
     CreationTime                = creationTime;
     State                       = state;
     StateTransitionTime         = stateTransitionTime;
     PreviousState               = previousState;
     PreviousStateTransitionTime = previousStateTransitionTime;
     Priority                    = priority;
     Constraints                 = constraints;
     JobManagerTask              = jobManagerTask;
     JobPreparationTask          = jobPreparationTask;
     JobReleaseTask              = jobReleaseTask;
     CommonEnvironmentSettings   = commonEnvironmentSettings;
     PoolInfo                    = poolInfo;
     OnAllTasksComplete          = onAllTasksComplete;
     OnTaskFailure               = onTaskFailure;
     NetworkConfiguration        = networkConfiguration;
     Metadata                    = metadata;
     ExecutionInfo               = executionInfo;
     Stats                       = stats;
 }
Ejemplo n.º 2
0
        internal static CloudJob DeserializeCloudJob(JsonElement element)
        {
            string             id                          = default;
            string             displayName                 = default;
            bool?              usesTaskDependencies        = default;
            string             url                         = default;
            string             eTag                        = default;
            DateTimeOffset?    lastModified                = default;
            DateTimeOffset?    creationTime                = default;
            JobState?          state                       = default;
            DateTimeOffset?    stateTransitionTime         = default;
            JobState?          previousState               = default;
            DateTimeOffset?    previousStateTransitionTime = default;
            int?               priority                    = default;
            JobConstraints     constraints                 = default;
            JobManagerTask     jobManagerTask              = default;
            JobPreparationTask jobPreparationTask          = default;
            JobReleaseTask     jobReleaseTask              = default;
            IReadOnlyList <EnvironmentSetting> commonEnvironmentSettings = default;
            PoolInformation              poolInfo             = default;
            OnAllTasksComplete?          onAllTasksComplete   = default;
            OnTaskFailure?               onTaskFailure        = default;
            JobNetworkConfiguration      networkConfiguration = default;
            IReadOnlyList <MetadataItem> metadata             = default;
            JobExecutionInformation      executionInfo        = default;
            JobStatistics                stats = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("id"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    id = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("displayName"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    displayName = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("usesTaskDependencies"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    usesTaskDependencies = property.Value.GetBoolean();
                    continue;
                }
                if (property.NameEquals("url"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    url = 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("creationTime"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    creationTime = property.Value.GetDateTimeOffset("S");
                    continue;
                }
                if (property.NameEquals("state"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    state = property.Value.GetString().ToJobState();
                    continue;
                }
                if (property.NameEquals("stateTransitionTime"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    stateTransitionTime = property.Value.GetDateTimeOffset("S");
                    continue;
                }
                if (property.NameEquals("previousState"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    previousState = property.Value.GetString().ToJobState();
                    continue;
                }
                if (property.NameEquals("previousStateTransitionTime"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    previousStateTransitionTime = property.Value.GetDateTimeOffset("S");
                    continue;
                }
                if (property.NameEquals("priority"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    priority = property.Value.GetInt32();
                    continue;
                }
                if (property.NameEquals("constraints"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    constraints = JobConstraints.DeserializeJobConstraints(property.Value);
                    continue;
                }
                if (property.NameEquals("jobManagerTask"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    jobManagerTask = JobManagerTask.DeserializeJobManagerTask(property.Value);
                    continue;
                }
                if (property.NameEquals("jobPreparationTask"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    jobPreparationTask = JobPreparationTask.DeserializeJobPreparationTask(property.Value);
                    continue;
                }
                if (property.NameEquals("jobReleaseTask"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    jobReleaseTask = JobReleaseTask.DeserializeJobReleaseTask(property.Value);
                    continue;
                }
                if (property.NameEquals("commonEnvironmentSettings"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    List <EnvironmentSetting> array = new List <EnvironmentSetting>();
                    foreach (var item in property.Value.EnumerateArray())
                    {
                        array.Add(EnvironmentSetting.DeserializeEnvironmentSetting(item));
                    }
                    commonEnvironmentSettings = array;
                    continue;
                }
                if (property.NameEquals("poolInfo"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    poolInfo = PoolInformation.DeserializePoolInformation(property.Value);
                    continue;
                }
                if (property.NameEquals("onAllTasksComplete"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    onAllTasksComplete = property.Value.GetString().ToOnAllTasksComplete();
                    continue;
                }
                if (property.NameEquals("onTaskFailure"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    onTaskFailure = property.Value.GetString().ToOnTaskFailure();
                    continue;
                }
                if (property.NameEquals("networkConfiguration"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    networkConfiguration = JobNetworkConfiguration.DeserializeJobNetworkConfiguration(property.Value);
                    continue;
                }
                if (property.NameEquals("metadata"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    List <MetadataItem> array = new List <MetadataItem>();
                    foreach (var item in property.Value.EnumerateArray())
                    {
                        array.Add(MetadataItem.DeserializeMetadataItem(item));
                    }
                    metadata = array;
                    continue;
                }
                if (property.NameEquals("executionInfo"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    executionInfo = JobExecutionInformation.DeserializeJobExecutionInformation(property.Value);
                    continue;
                }
                if (property.NameEquals("stats"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    stats = JobStatistics.DeserializeJobStatistics(property.Value);
                    continue;
                }
            }
            return(new CloudJob(id, displayName, usesTaskDependencies, url, eTag, lastModified, creationTime, state, stateTransitionTime, previousState, previousStateTransitionTime, priority, constraints, jobManagerTask, jobPreparationTask, jobReleaseTask, commonEnvironmentSettings, poolInfo, onAllTasksComplete, onTaskFailure, networkConfiguration, metadata, executionInfo, stats));
        }