コード例 #1
0
ファイル: JobQueueResult.cs プロジェクト: cburriss/SyncObjX
        public static JobInstanceResult GetResult(JobInstance jobInstance)
        {
            if (jobInstance == null)
            {
                return(null);
            }

            object _lock = new object();

            lock (_lock)
            {
                var jobInstanceResult = new JobInstanceResult();

                jobInstanceResult.IntegrationId        = jobInstance.Integration.Id;
                jobInstanceResult.JobId                = jobInstance.Job.Id;
                jobInstanceResult.QueueRequestId       = jobInstance.QueueRequest.Id;
                jobInstanceResult.JobInstanceId        = jobInstance.Id;
                jobInstanceResult.Filters              = jobInstance.Filters;
                jobInstanceResult.SourceDataSourceId   = jobInstance.SourceDataSource.DataSource.Id;
                jobInstanceResult.TargetDataSourceId   = jobInstance.TargetDataSource.DataSource.Id;
                jobInstanceResult.InvocationSource     = jobInstance.InvocationSource;
                jobInstanceResult.InvocationSourceType = jobInstance.InvocationSourceType;
                jobInstanceResult.Status               = jobInstance.Status;
                jobInstanceResult.ScheduledStartTime   = jobInstance.ScheduledStartTime;
                jobInstanceResult.TimeToStartDelay     = jobInstance.TimeToStartDelay;
                jobInstanceResult.ActualStartTime      = jobInstance.ActualStartTime;
                jobInstanceResult.ActualEndTime        = jobInstance.ActualEndTime;
                jobInstanceResult.ActualDuration       = jobInstance.ActualDuration;
                jobInstanceResult.HasRecordErrors      = jobInstance.HasRecordErrors;
                jobInstanceResult.HasRuntimeErrors     = jobInstance.HasRuntimeErrors;
                jobInstanceResult.Exceptions           = WebServiceException.Convert(jobInstance.Exceptions);

                var jobStepResults = new List <JobStepInstanceResult>();

                foreach (var jobStepInstance in jobInstance.JobStepInstances)
                {
                    jobStepResults.Add(GetResult(jobStepInstance));
                }

                jobInstanceResult.JobStepInstanceResults = jobStepResults;

                return(jobInstanceResult);
            }
        }
コード例 #2
0
ファイル: JobQueueManager.cs プロジェクト: cburriss/SyncObjX
        public static JobInstanceResult GetJobInstanceResult(Guid jobInstanceId)
        {
            JobInstanceResult jobInstanceResult = null;
            JobInstance       jobInstance;

            object _lock = new object();

            lock (_lock)
            {
                jobInstancesById.TryGetValue(jobInstanceId, out jobInstance);

                if (jobInstance != null)
                {
                    jobInstanceResult = JobQueueResult.GetResult(jobInstance);
                }
            }

            return(jobInstanceResult);
        }