예제 #1
0
        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());
        }
예제 #2
0
        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();
        }
예제 #3
0
        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);
        }