Ejemplo n.º 1
0
        /// <summary>
        /// Finds all dependencies for a JobExecution, including JobInstance (which
        /// requires JobParameters) plus StepExecutions.
        /// </summary>
        /// <param name="jobExecution"></param>
        private void GetJobExecutionDependencies(JobExecution jobExecution)
        {
            JobInstance jobInstance = _jobInstanceDao.GetJobInstance(jobExecution);

            _stepExecutionDao.AddStepExecutions(jobExecution);
            jobExecution.JobInstance      = jobInstance;
            jobExecution.ExecutionContext = _executionContextDao.GetExecutionContext(jobExecution);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Returns last StepExecution.
        /// </summary>
        /// <param name="jobInstance"></param>
        /// <param name="stepName"></param>
        /// <returns></returns>
        public StepExecution GetLastStepExecution(JobInstance jobInstance, string stepName)
        {
            var jobExecutions  = _jobExecutionDao.FindJobExecutions(jobInstance);
            var stepExecutions = new List <StepExecution>(jobExecutions.Count);

            foreach (var jobExecution in jobExecutions)
            {
                _stepExecutionDao.AddStepExecutions(jobExecution);
                stepExecutions.AddRange(jobExecution.StepExecutions.Where(stepExecution => stepName.Equals(stepExecution.StepName)));
            }

            StepExecution latest = null;

            foreach (var stepExecution in stepExecutions)
            {
                if (latest == null)
                {
                    latest = stepExecution;
                }
                if (latest.StartTime.Ticks < stepExecution.StartTime.Ticks)
                {
                    latest = stepExecution;
                }
            }

            if (latest == null)
            {
                return(null);
            }
            var stepExecutionContext = _executionContextDao.GetExecutionContext(latest);

            latest.ExecutionContext = stepExecutionContext;
            var jobExecutionContext = _executionContextDao.GetExecutionContext(latest.JobExecution);

            latest.JobExecution.ExecutionContext = jobExecutionContext;

            return(latest);
        }