Private/New-JobFromJson.ps1
using module ..\Classes\Job.psm1 using module ..\Classes\JobDetail.psm1 function New-JobFromJson { Param( [PSCustomObject]$Job, [PSCustomObject]$JobDetails ) $JobObj = [Job]@{ Id = $Job.Id JobName = $Job.JobName JobDescription = $Job.JobDescription NextRun = $Job.NextRun LastRun = $Job.LastRun StartTime = $Job.StartTime EndTime = $Job.EndTime Schedule = $Job.Schedule State = $Job.State CreatedBy = $Job.CreatedBy UpdatedBy = $Job.UpdatedBy Visible = $Job.Visible Editable = $Job.Editable Builtin = $Job.Builtin UserGenerated = $Job.UserGenerated LastRunStatusId = $Job.LastRunStatus.Id LastRunStatus = $Job.LastRunStatus.Name Targets = $Job.Targets } if ($JobDetails) { foreach ($JobDetail in $JobDetails) { $JobObj.JobDetail += [JobDetail]@{ Id = $JobDetail.Id Key = $JobDetail.Key Progress = $JobDetail.Progress ElapsedTime = $JobDetail.ElapsedTime StatusId = $JobDetail.JobStatus.Id Status = $JobDetail.JobStatus.Name StartTime = $JobDetail.StartTime EndTime = $JobDetail.EndTime Output = $JobDetail.Value } } } return $JobObj } |