public JobList ListCurrentlyExecutingJobs()
        {
            JobList jobList = new JobList();

            jobList.Items = new List <Job>();
            IScheduler scheduler = GetScheduler();
            var        jobs      = scheduler.GetCurrentlyExecutingJobs();

            foreach (var j in jobs)
            {
                Job job = new Job
                {
                    JobGroupName = j.JobDetail.Key.Group,
                    JobName      = j.JobDetail.Key.Name
                };
                jobList.Items.Add(job);
            }


            return(jobList);
        }
        public JobList ListJobs()
        {
            //http://stackoverflow.com/questions/12489450/get-all-jobs-in-quartz-net-2-0
            JobList jobList = new JobList();

            jobList.Items = new List <Job>();
            IScheduler scheduler = GetScheduler();

            foreach (var getJobGroupName in scheduler.GetJobGroupNames())
            {
                foreach (JobKey jobkey in scheduler.GetJobKeys(GroupMatcher <JobKey> .GroupEquals(getJobGroupName)))
                {
                    var job = new Job
                    {
                        JobGroupName = jobkey.Group,
                        JobName      = jobkey.Name
                    };

                    job.Triggers = new List <Trigger>(); foreach (ITrigger trigger in scheduler.GetTriggersOfJob(jobkey))
                    {
                        job.Triggers.Add(new Trigger
                        {
                            TriggerGroupName    = trigger.Key.Group,
                            TriggerName         = trigger.Key.Name,
                            MayFireAgain        = trigger.GetMayFireAgain(),
                            NextFireTimeUtc     = trigger.GetNextFireTimeUtc(),
                            PreviousFireTimeUtc = trigger.GetPreviousFireTimeUtc(),
                            StartTimeUtc        = trigger.StartTimeUtc,
                            EndTimeUtc          = trigger.EndTimeUtc,
                            UTCNow = DateTime.UtcNow,
                            Status = scheduler.GetTriggerState(trigger.Key).ToString()
                        });
                    }

                    jobList.Items.Add(job);
                }
            }

            return(jobList);
        }