private static void SetTrigger(DateTime triggerTime, Types.TradingTimeType timeType, string id) { DateTime now = DateTime.Now; DateTime time = new DateTime(now.Year, now.Month, now.Day, triggerTime.Hour, triggerTime.Minute, triggerTime.Second); string expFormat = "{0} {1} {2} ? * *"; string exp = String.Format(expFormat, time.Second, time.Minute, time.Hour); ScheduleEventArgs args = new ScheduleEventArgs { //BourseTypeID = bourseType.BourseTypeID, TimeType = timeType, Time = time }; string newTriggerName = id + "trigger"; string newGroupName = id + "Group"; CronTrigger trigger = new CronTrigger(newTriggerName, newGroupName, exp); trigger.JobDataMap.SetScheduleEventArgs(args); string newJobName = id + "job"; JobDetail job = new JobDetail(newJobName, null, typeof(ScheduleJob)); scheduler.ScheduleJob(job, trigger); string format = "ScheduleManager.SetTrigger[JobName={0},TiggerName={1},GroupName={2}]"; string desc = string.Format(format, newJobName, newTriggerName, newGroupName); //LogHelper.WriteDebug(desc + " Args=" + args); LogHelper.WriteDebug("ScheduleManager.SetTrigger" + args); }
private static void SetBeginTime(DateTime time, CM_BourseType type, Types.TradingTimeType timeType) { string sTime = GetKeyTime(time); if (!matchTimes.Contains(sTime)) { matchTimes.Add(sTime); } if (FirstBeginTime.Year == 2000) { FirstBeginTime = time; return; } if (FirstBeginTime.Hour > time.Hour) { FirstBeginTime = time; return; } if (FirstBeginTime.Hour == time.Hour) { if (FirstBeginTime.Minute > time.Minute) { FirstBeginTime = time; } } }
private static void SetEndTime(DateTime time, CM_BourseType type, Types.TradingTimeType timeType) { if (LastEndTime.Year == 2000) { LastEndTime = time; return; } if (LastEndTime.Hour < time.Hour) { LastEndTime = time; return; } if (LastEndTime.Hour == time.Hour) { if (LastEndTime.Minute < time.Minute) { LastEndTime = time; } } }