/// <summary> /// Initializes a new instance of the <see cref="ASRJob" /> class with required parameters. /// </summary> /// <param name="job">ASR Job object</param> public ASRJob(Job job) { this.ID = job.Id; this.Type = job.Type; this.JobType = job.Properties.ScenarioName; this.DisplayName = job.Properties.FriendlyName; this.ClientRequestId = job.Properties.ActivityId; this.State = job.Properties.State; this.StateDescription = job.Properties.StateDescription; this.Name = job.Name; this.TargetObjectId = job.Properties.TargetObjectId; this.TargetObjectName = job.Properties.TargetObjectName; if(job.Properties.EndTime.HasValue) this.EndTime = job.Properties.EndTime.Value.ToLocalTime(); if(job.Properties.StartTime.HasValue) this.StartTime = job.Properties.StartTime.Value.ToLocalTime(); if (job.Properties.AllowedActions != null && job.Properties.AllowedActions.Count > 0) { this.AllowedActions = new List<string>(); foreach (var action in job.Properties.AllowedActions) { this.AllowedActions.Add(action); } } if (!string.IsNullOrEmpty(job.Properties.TargetObjectId)) { this.TargetObjectType = job.Properties.TargetInstanceType; } this.Tasks = new List<ASRTask>(); foreach (var task in job.Properties.Tasks) { this.Tasks.Add(new ASRTask(task)); } this.Errors = new List<ASRErrorDetails>(); foreach (var error in job.Properties.Errors) { ASRErrorDetails errorDetails = new ASRErrorDetails(); errorDetails.TaskId = error.TaskId; errorDetails.ServiceErrorDetails = new ASRServiceError(error.ServiceErrorDetails); errorDetails.ProviderErrorDetails = new ASRProviderError(error.ProviderErrorDetails); this.Errors.Add(errorDetails); } }
/// <summary> /// Writes Job. /// </summary> /// <param name="job">JOB object</param> private void WriteJob(Microsoft.Azure.Management.SiteRecovery.Models.Job job) { this.WriteObject(new ASRJob(job)); }