public bool EditScheduleDetailsTrigger(ScheduleJob_Details_Triggers data) { using (IDbConnection connection = SqlConnectionHelper.GetSQLiteConnection()) { var sql = string.Format( @"UPDATE ScheduleJob_Details_Triggers set sched_name='{1}',job_name='{2}',trigger_name='{3}',trigger_group='{4}',job_group='{5}',cronexpression='{6}',trigger_type='{7}',repeat_count='{8}',repeat_interval='{9}',startTime={10},endTime={11},description='{12}' where id={0}; ", data.id, data.sched_name, data.job_name, data.trigger_name, data.trigger_group, data.job_group, data.cronexpression, data.trigger_type, data.repeat_count, data.repeat_interval, data.startTime == null ? "NULL" : data.startTime.ToString(), data.endTime == null ? "NULL" : data.endTime.ToString(), data.description); return(connection.Execute(sql) > 0); } }
/// <summary> /// 写入数据 /// </summary> /// <param name="id"></param> /// <returns></returns> public bool SaveScheduleDetailsTrigger(ScheduleJob_Details_Triggers data) { using (IDbConnection connection = SqlConnectionHelper.GetSQLiteConnection()) { var sql = string.Format( @"INSERT INTO ScheduleJob_Details_Triggers(sched_name,job_name,trigger_name,trigger_group,job_group,cronexpression,trigger_type,repeat_count,repeat_interval,startTime,endTime) VALUES('{1}', '{2}', '{3}', '{4}', '{5}','{6}','{7}','{8}','{9}',{10},{11}); ", data.id, data.sched_name, data.job_name, data.trigger_name, data.trigger_group, data.job_group, data.cronexpression, data.trigger_type, data.repeat_count, data.repeat_interval, data.startTime == null ? "NULL" : data.startTime.ToString(), data.endTime == null ? "NULL" : data.endTime.ToString() ); return(connection.Execute(sql) > 0); } }
/// <summary> /// 比较值是否相等 /// </summary> /// <param name="plNew"></param> /// <returns></returns> public bool scheEquals(object obj) { ScheduleJob_Details_Triggers jobDetailTrigger = obj as ScheduleJob_Details_Triggers; return(jobDetailTrigger != null && jobDetailTrigger.sched_name == sched_name && jobDetailTrigger.trigger_name == trigger_name && jobDetailTrigger.trigger_group == trigger_group && jobDetailTrigger.job_name == job_name && jobDetailTrigger.job_group == job_group && jobDetailTrigger.description == description && jobDetailTrigger.cronexpression == cronexpression && jobDetailTrigger.repeat_count == repeat_count && jobDetailTrigger.repeat_interval == repeat_interval && jobDetailTrigger.startTime == startTime && jobDetailTrigger.endTime == endTime && jobDetailTrigger.trigger_type == trigger_type); }
/// <summary> /// 根据数据采集计划来创建作业触发器 /// </summary> /// <param name="jobDetail">采集计划</param> /// <param name="clMethod">数据采集方法</param> /// <param name="forJob">将此触发器添加到哪个作业</param> /// <returns></returns> public static ITrigger CreateTrigger(ScheduleJob_Details_Triggers trigger, IJobDetail forJob = null) { if (trigger == null) { throw new ArgumentNullException("『CreateTrigger』的trigger参数为空!"); } TriggerBuilder builder = TriggerBuilder.Create(); builder = builder .WithIdentity(GetTriggerKey(trigger)) .WithDescription(trigger.description); builder = trigger.trigger_type.ToUpper() == "cron".ToUpper() ? ( string.IsNullOrEmpty(trigger.cronexpression) ? builder.WithSimpleSchedule(x => x.WithIntervalInMinutes(string.IsNullOrEmpty(trigger.repeat_interval) ? 30 : int.Parse(trigger.repeat_interval)).WithRepeatCount(string.IsNullOrEmpty(trigger.repeat_count) ? 10 : int.Parse(trigger.repeat_count))) : builder.WithCronSchedule(trigger.cronexpression) ) : builder.WithSimpleSchedule(x => x.WithIntervalInMinutes(string.IsNullOrEmpty(trigger.repeat_interval) ? 30 : int.Parse(trigger.repeat_interval)).WithRepeatCount(string.IsNullOrEmpty(trigger.repeat_count) ? 10 : int.Parse(trigger.repeat_count))); if (forJob != null) { builder.ForJob(forJob); } return(builder.Build()); }
/// <summary> /// 根据采集计划产生触发器的唯一标识 /// </summary> /// <param name="trigger">采集计划</param> /// <param name="clMethod">采集方式</param> /// <returns></returns> public static TriggerKey GetTriggerKey(ScheduleJob_Details_Triggers trigger) { return(new TriggerKey( string.Format(TRINameFormat, trigger.sched_name, trigger.job_name, trigger.trigger_name, trigger.trigger_group), trigger.trigger_group)); }