private void Test(object sender, System.EventArgs e) { MessageBox.Show("Test will now create all types of schedules and opens Schedules View"); // create and add different types of schedules Schedule s = new IntervalSchedule("Test_Interval", DateTime.Now.AddMinutes(1), 45, TimeSpan.Zero, new TimeSpan(TimeSpan.TicksPerDay)); s.OnTrigger += new EventScheduler.Invoke(ScheduleCallBack); Scheduler.AddSchedule(s); s = new OneTimeSchedule("Test_Onetime", DateTime.Now.AddMinutes(1.5)); s.OnTrigger += new EventScheduler.Invoke(ScheduleCallBack); Scheduler.AddSchedule(s); s = new DailySchedule("Test_daily", DateTime.Now.AddMinutes(2)); s.OnTrigger += new EventScheduler.Invoke(ScheduleCallBack); Scheduler.AddSchedule(s); s = new WeeklySchedule("Test_weekly", DateTime.Now.AddMinutes(2.5)); s.OnTrigger += new EventScheduler.Invoke(ScheduleCallBack); Scheduler.AddSchedule(s); s = new MonthlySchedule("Test_monthly", DateTime.Now.AddMinutes(3)); s.OnTrigger += new EventScheduler.Invoke(ScheduleCallBack); Scheduler.AddSchedule(s); // kick off the Schedules View SchedulerUI.ShowSchedules(); }
public bool Start() { try { if (!Running) { bool scheduled = false; if (PQReportsSettings.Enabled) { Scheduler.AddSchedule("PQReports", PQReportsSettings.Schedule); scheduled = true; } if (BreakerReportsSettings.Enabled) { Scheduler.AddSchedule("BreakerReports", PQReportsSettings.Schedule); scheduled = true; } if (scheduled) { Scheduler.Start(); Running = true; } } return(true); } catch (Exception ex) { Log.Error(ex.ToString(), ex); return(false); } }
private void buttonDelayButton_Click(object sender, EventArgs e) { MarconiRaceControllerLogic rcl = oblist.SelectedObject as MarconiRaceControllerLogic; if (rcl == null) { return; } foreach (var item in _raceQueue.Where(p => p.RaceScheduledStartTime >= DateTime.Now && p.RaceScheduledStartTime >= rcl.RaceScheduledStartTime).ToList()) { item.RaceScheduledStartTime = item.RaceScheduledStartTime.AddMinutes(5); var sched = Scheduler.GetSchedule(item.RaceName); Scheduler.RemoveSchedule(item.RaceName); OneTimeSchedule sc = new OneTimeSchedule(item.RaceName, item.RaceScheduledStartTime); sc.OnTrigger += Sc_OnTrigger; Scheduler.AddSchedule(sc); } oblist.SetObjects(_raceQueue, true); buttonDelayButton.Enabled = false; }
private void tsbAdd_Click(object sender, EventArgs e) { using (WizardAddSchedule form = new WizardAddSchedule()) { if (form.ShowDialog() == DialogResult.OK) { Scheduler.AddSchedule(form.Schedule); LoadSchedules(); } } }
public void Start() { if (!Running) { Scheduler.Initialize(); Scheduler.Starting += Scheduler_Starting; Scheduler.Started += Scheduler_Started; Scheduler.ScheduleDue += Scheduler_ScheduleDue; Scheduler.Disposed += Scheduler_Disposed; Scheduler.AddSchedule("PQMarkAggregation", PQMarkAggregationSettings.Frequency); Scheduler.Start(); Running = true; } }
public void Start() { if (!Running) { Scheduler.Initialize(); Scheduler.Starting += Scheduler_Starting; Scheduler.Started += Scheduler_Started; Scheduler.ScheduleDue += Scheduler_ScheduleDue; Scheduler.Disposed += Scheduler_Disposed; Scheduler.AddSchedule("StepChangeWebReport", StepChangeWebReportSettings.Frequency); Scheduler.Start(); m_running = true; } }
/// <summary> /// allowNumで指定した回数に達するまでロックを掛けます。 /// delay秒の遅延後に非同期でアクションを実行します。実行後、ロックを解除します。 /// </summary> /// <param name="key">Key.</param> /// <param name="delay">Delay.</param> /// <param name="action">Action.</param> /// <param name="allowNum">Allow number.</param> public static int Lock(string key, float delay, System.Action action, int allowNum = 1) { int restNum = SetLock(key, allowNum); if (restNum >= 0) { Scheduler.AddSchedule(key + "_" + restNum.ToString(), delay, (System.Action)(() => { action.Invoke(); ReleaseLock(key); })); } return(restNum); }
/// <summary> /// 現在のパネルのデモを再生します。 /// </summary> public void PlayCurrentStageDemo() { StageInfo stage = GetCurrentStage(); int i = 0; foreach (StepInfo stepInfo in stage.stepInfos) { StepInfo cloneFlushInfo = stepInfo.Clone(); Scheduler.AddSchedule(GameConstants.TIMER_KEY_PREFIX_PANEL_DEMO + i++.ToString(), stepInfo.startTime, (System.Action)(() => { AudioManager.PlayOneShot(this.GetComponent <AudioSource>(), "button01b"); this.panels[cloneFlushInfo.panelIndex].Flush(cloneFlushInfo); })); } }
public void ReloadSystemSettings(string connectionString) { ConnectionStringParser.ParseConnectionString(connectionString, this); Scheduler.AddSchedule("PQReports", PQReportsSettings.Schedule, true); Scheduler.AddSchedule("BreakerReports", BreakerReportsSettings.Schedule, true); if (PQReportsSettings.Enabled || BreakerReportsSettings.Enabled) { Start(); } else if (!PQReportsSettings.Enabled || !BreakerReportsSettings.Enabled) { Stop(); } }
private void tsbEdit_Click(object sender, EventArgs e) { Schedule schedule = GetSelectedSchedule(); if (schedule != null) { using (WizardAddSchedule form = new WizardAddSchedule(schedule)) { if (form.ShowDialog() == DialogResult.OK) { Scheduler.AddSchedule(form.Schedule); LoadSchedules(); } } } }
//Start the application, creates each race. private void btStartRace_Click(object sender, EventArgs e) { if (dateTimePicker1.Value <= DateTime.Now.AddSeconds(10)) { DialogResult dialogResult = MessageBox.Show("The time of the first date is too soon or in the past. Select a valid time for the first race", "WARNING", MessageBoxButtons.OK); return; } panelStart.Visible = false; panel1.Visible = true; AllLightsOff(); int _races = int.Parse(this.textBox1.Text); DateTime _lastStartTime = dateTimePicker1.Value; panelButtons.Visible = true; panelRaces.Visible = true; for (int x = 1; x <= _races; x++) { MarconiRaceControllerLogic _newRace = new MarconiRaceControllerLogic(); _newRace.RaceName = "Race " + x.ToString(); _newRace.RaceScheduledStartTime = _lastStartTime; _newRace.BoardDriver = relayBoard; _newRace.InternalPlayer = _soundPlayer; OneTimeSchedule sc = new OneTimeSchedule("Race " + x.ToString(), _lastStartTime); sc.OnTrigger += Sc_OnTrigger; _raceQueue.Add(_newRace); Scheduler.AddSchedule(sc); _lastStartTime = _lastStartTime.AddMinutes(6); } oblist.SetObjects(_raceQueue, true); }
private void OnCreateSchedule(object sender, System.EventArgs e) { try { Schedule sc = null; if (RunOnce.Checked) { sc = new Schedule(NameTxt.Text, m_startTimePicker.Value, ScheduleType.ONETIME); } if (RunDaily.Checked) { sc = new Schedule(NameTxt.Text, m_startTimePicker.Value, ScheduleType.DAILY); } if (RunWeekly.Checked) { sc = new Schedule(NameTxt.Text, m_startTimePicker.Value, ScheduleType.WEEKLY); } //if (RunIntervals.Checked) sc = new Schedule(NameTxt.Text, m_startTimePicker.Value, // Int32.Parse(IntervalTxt.Text), // m_fromTime.Value.TimeOfDay, // m_toTime.Value.TimeOfDay); if (RunMonthly.Checked) { sc = new Schedule(NameTxt.Text, m_startTimePicker.Value, ScheduleType.MONTHLY); } sc.StartTime = m_startTimePicker.Value; sc.Path = FilenameTxt.Text; SetScheduleWeekDays(sc); Scheduler.AddSchedule(sc); System.Xml.Serialization.XmlSerializer x1 = new System.Xml.Serialization.XmlSerializer(typeof(Schedule)); XmlTextWriter xw1 = new XmlTextWriter(Properties.Settings.Default.GlobalDirectoryRoot + Properties.Settings.Default.GlobalDirectorySchedules + sc.Path, null); x1.Serialize(xw1, sc); xw1.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private static async Task ScheduleAnnouncement(IDialogContext context, Activity activity, TeamsChannelData channelData, Campaign campaign) { // Get all the details for announcement. var details = JsonConvert.DeserializeObject <ScheduleAnnouncementActionDetails>(activity.Value.ToString()); if (details == null || details.Id == null) { details = JsonConvert.DeserializeObject <TaskModule.BotFrameworkCardValue <ScheduleAnnouncementActionDetails> > (activity.Value.ToString()).Data; } var dateTime = DateTime.Parse(details.Date + " " + details.Time); var offset = activity.LocalTimestamp.Value.Offset; DateTimeOffset dateTimeOffset = new DateTimeOffset(dateTime, offset); if (campaign.Schedule == null) { campaign.Schedule = new Models.Schedule() { ScheduleId = string.Empty } } ; campaign.Schedule.ScheduledTime = dateTimeOffset; var scheduleDate = campaign.Schedule.GetScheduleTimeUTC(); // Handle timezone differences. if (!Scheduler.UpdateSchedule(campaign.Schedule.ScheduleId, scheduleDate)) { campaign.Schedule.ScheduleId = Scheduler.AddSchedule( scheduleDate, new AnnouncementSender() { AnnouncementId = campaign.Id }.Execute); } campaign.Status = Status.Scheduled; await Cache.Announcements.AddOrUpdateItemAsync(campaign.Id, campaign); }
// Zeitplan erstellen private void button1_Click(object sender, EventArgs e) { foreach (BackupSetInfo bs in backup.ListOfBackupSetInfo) { if (bs.BackupSchedule == "true") { int _H = Convert.ToInt16(bs.BackupStunde); int _M = Convert.ToInt16(bs.BackupMin); int _S = 0; DateTime dt = DateTime.Now; TimeSpan ts = new TimeSpan(_H, _M, _S); dt = dt.Date + ts; if (dt.CompareTo(DateTime.Now) <= 0) { dt = dt.AddDays(+1); } String.Format("{0:dd.MM.yyyy HH:mm}", dt); Schedule s = new DailySchedule("Sicherung", dt); s.OnTrigger += new EventScheduler.Invoke(ScheduleCallBack); if (bs.BackupSo == "true") { s.SetWeekDay(DayOfWeek.Sunday, true); } else { s.SetWeekDay(DayOfWeek.Sunday, false); } if (bs.BackupMo == "true") { s.SetWeekDay(DayOfWeek.Monday, true); } else { s.SetWeekDay(DayOfWeek.Monday, false); } if (bs.BackupDi == "true") { s.SetWeekDay(DayOfWeek.Tuesday, true); } else { s.SetWeekDay(DayOfWeek.Tuesday, false); } if (bs.BackupMi == "true") { s.SetWeekDay(DayOfWeek.Wednesday, true); } else { s.SetWeekDay(DayOfWeek.Wednesday, false); } if (bs.BackupDo == "true") { s.SetWeekDay(DayOfWeek.Thursday, true); } else { s.SetWeekDay(DayOfWeek.Thursday, false); } if (bs.BackupFr == "true") { s.SetWeekDay(DayOfWeek.Friday, true); } else { s.SetWeekDay(DayOfWeek.Friday, false); } if (bs.BackupSa == "true") { s.SetWeekDay(DayOfWeek.Saturday, true); } else { s.SetWeekDay(DayOfWeek.Saturday, false); } Scheduler.AddSchedule(s); NotiText("Meldung", "Zeitplan angelegt "); } } }
void Update() { // flick description text float level = Mathf.Abs(Mathf.Sin(Time.time * 3)); description.SetColor(Color.yellow * level); if (flushDemoPhase) { // Panel Flush Demo Phase demoPlayTime -= Time.deltaTime; if (demoPlayTime <= 0.0f) { // まず指し棒を非表示に fingerObj.SetActive(false); // Panel Flush Demo Schedule float demoEndTime = 0f; int i = 0; for (; i < stageInfo.stepInfos.Count; i++) { StepInfo step = stageInfo.stepInfos[i]; Scheduler.AddSchedule(string.Format(GameConstants.TIMER_KEY_HELP_PANEL_FLUSH, this.GetType().Name, i.ToString()), step.startTime, (System.Action)(() => { if (fingerObj != null) { panels[step.panelIndex].Flush(new FlushInfo(step.flushColor, step.flushTime)); } })); // flush demo 終了時刻を更新 (0.5secは flush demo 終了後のバッファ) demoEndTime = step.startTime + step.flushTime + 0.5f; } Scheduler.AddSchedule(string.Format(GameConstants.TIMER_KEY_HELP_PANEL_FLUSH, this.GetType().Name, i.ToString()), demoEndTime, (System.Action)(() => { if (fingerObj != null) { // trigger finger move phase // flush demo 終了後、指し棒を初期位置に戻して、再表示 // どうしても下の指し棒移動ロジックは毎回ズレが生じるので、この段階で元に戻しておく // ちゃんとHelpBoard自体の移動分(this.transform.position - basePos)も加味しておく fingerObj.transform.position = new Vector3( pathInfos[0].Origin.x + screenManager.SCREEN_WIDTH * 0.05f, // パネル中央よりちょい右に pathInfos[0].Origin.y - screenManager.SCREEN_HEIGHT * 0.05f, // パネル中央よりちょい下に GameConstants.Z_DEPTH_BASE - 0.2f // パネル自体よりちょい前に ) + (this.transform.position - basePos); fingerObj.SetActive(true); flushDemoPhase = false; } })); // タイマーセット (0.5secは finger move phase 終了後のバッファ) demoPlayTime = demoEndTime + 0.5f; } return; } // Finger Move Lecture if (fingerMoveStep >= pathInfos.Count) { // when finger move phase finished fingerMoveStep = 0; flushDemoPhase = true; } // move fingerObj.transform.Translate(pathInfos[fingerMoveStep].Direction * FINGER_MOVE_RATE, Space.Self); GameObject trailEffect = Instantiate(trailEffectPrefab, fingerObj.transform.position, Quaternion.identity) as GameObject; trailEffect.transform.parent = this.transform; Destroy(trailEffect, 1.0f); // fingerObj.transform.position = new Vector3( // fingerObj.transform.position.x + (pathInfos[fingerMoveStep].Direction.x * FINGER_MOVE_RATE), // fingerObj.transform.position.y + (pathInfos[fingerMoveStep].Direction.y * FINGER_MOVE_RATE), // fingerObj.transform.position.z // ); stepMoveDistance += FINGER_MOVE_RATE; if (pathInfos[fingerMoveStep].Distance < stepMoveDistance) { // when reached destination fingerMoveStep++; stepMoveDistance = 0f; } }