public ListenerInfo(string jobName, Type jobType, Enum listenerEvent, Type originType, IJobSchedulerGroup group) : base(jobName, jobType, null) { _listenerEvent = listenerEvent; _originType = originType; _group = group; }
void CreateTriggers(IJobSchedulerGroup jobSchedulerGroup) { if (jobSchedulerGroup != null) { var objects = ObjectSpace.GetObjects(TypesInfo.FindBussinessObjectType <IXpandJobTrigger>(), ForTheSameGroup(jobSchedulerGroup)).OfType <IXpandJobTrigger>().ToList(); objects.ForEach(ScheduleJob); } }
CriteriaOperator ForTheSameGroup(IJobSchedulerGroup jobSchedulerGroup) { return(CriteriaOperator.Parse("JobSchedulerGroups[Name=?]", jobSchedulerGroup.Name)); }
Func<CriteriaOperator> ForTheSameJobTypeOrGroup(Type type, IJobSchedulerGroup group) { return () => CriteriaOperator.Parse("Job.JobType=? OR (Group Is Not Null AND Group=?)", type, group); }
Func <CriteriaOperator> ForTheSameJobTypeOrGroup(Type type, IJobSchedulerGroup group) { return(() => CriteriaOperator.Parse("Job.JobType=? OR (Group Is Not Null AND Group=?)", type, group)); }
CriteriaOperator ForTheSameGroup(IJobSchedulerGroup jobSchedulerGroup) { return CriteriaOperator.Parse("JobSchedulerGroups[Name=?]", jobSchedulerGroup.Name); }
void CreateTriggers(IJobSchedulerGroup jobSchedulerGroup) { if (jobSchedulerGroup != null) { var objects = ObjectSpace.GetObjects(TypesInfo.FindBussinessObjectType<IXpandJobTrigger>(), ForTheSameGroup(jobSchedulerGroup)).OfType<IXpandJobTrigger>().ToList(); objects.ForEach(ScheduleJob); } }