void TaskManager_TaskListChanged(DailyTask task, TaskItemChangedEventArgs args) { switch (args.ChangedType) { case TaskChangedType.Insert: case TaskChangedType.Add: if (task.TaskNotifyInterval != null && task.TaskNotifyInterval.TotalMilliseconds > 0) { NotifySchedule ns = new NotifySchedule(task.Id, () => { TaskNotifyForm(task); }); JobManager.AddJob(ns, s => s.ToRunEvery(task.TaskNotifyInterval)); } break; case TaskChangedType.Remove: JobManager.RemoveJob(task.Id); break; case TaskChangedType.Move: break; default: break; } FileHelper.SaveJosn(TaskManager.ConvertJson()); }
async private void metroButton2_Click(object sender, EventArgs e) { DailyTask dt = new DailyTask(); using (TaskEditForm editForm = new TaskEditForm(dt)) { if (editForm.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) { var group = this.metroTabControl1.SelectedTab.Tag as ITaskGroup; if (TaskManager.AddTask(group, dt)) { TaskForm form = new TaskForm(this, dt); form.Show(); this.metroTabControl1.SelectedTab.Controls.Add(form); this.metroTabControl1.SelectedTab.ScrollControlIntoView(form); form.FormClosed += form_FormClosed; FileHelper.SaveJosn(TaskManager.ConvertJson()); } } } NotifyMessage m = new NotifyMessage(); m.Title = "Test"; m.NotifyInterval = new TimeSpan(0, 0, 3); NotifySchedule nm = new NotifySchedule(); }
public void ToRunUntilStop_Test() { var input = new DateTime(2017, 1, 1); var expected = new DateTime(2017, 1, 1, 0, 0, 30); var schedule = new NotifySchedule(); schedule.ToRunEvery(new TimeSpan(0, 0, 30)); var actual = schedule.CalculateNextRun(input); Assert.AreEqual(expected, actual); }