如何在代码中使用调度程序约会

问题描述

我正在尝试使用 DevExpress Scheduler control 来安排任务,但当控制不可用时,我无法弄清楚如何在代码背后使用 apointments。

目前我正在使用此类从控件中序列化约会集合

public enum Type { normal,Pattern,Occurrence,ChangedOccurrence,DeleteOccurrence }

public class TaskA
{
    public DateTime Start { get; set; }
    public DateTime End { get; set; }
    public string Recurrence { get; set; } // recurrence info in xml format
    public Type Type { get; set; }
}

我可以使用以下代码重新构造 RecurrenceInfo

var recurrence = new RecurrenceInfo();
recurrence.FromXml(taskA.Recurrence);

但是呢?如何例如测试任务 A 是否应该在 10 分钟后开始,同时手头有 List<TaskA> 个实例?

为什么有人会问这么难?有重复:

那些有复杂的内部表示(没有记录实施细节)。例如。我需要检查 Id 以查找特定重复发生的已删除事件,并检查 Index 以查找(我猜)从 Start 日期开始的一天。

这里用json来说明:

"Scheduler": {
  "TaskA": [
    {
      "Start": "0001-01-01T07:00:00","End": "0001-01-01T17:00:00","Recurrence": "<RecurrenceInfo End=\"12/31/9999 23:59:59\" WeekDays=\"62\" Id=\"a02837e5-787b-4797-a44d-adbe8aef2fdf\" OccurrenceCount=\"1\" Range=\"2\" Type=\"1\" Version=\"2\" />","Type": "Pattern"
    },{
      "Start": "2021-07-20T04:00:00","End": "2021-07-20T06:00:00","Recurrence": "<RecurrenceInfo Start=\"07/20/2021 04:00:00\" Id=\"8ca29855-e78a-41fd-b9af-9316b06ea0c4\" FirstDayOfWeek=\"0\" Version=\"2\" />",{
      "Start": "2021-07-21T04:00:00","End": "2021-07-21T06:00:00","Recurrence": "<RecurrenceInfo Id=\"8ca29855-e78a-41fd-b9af-9316b06ea0c4\" Index=\"1\" />","Type": "DeleteOccurrence"
    },{
      "Start": "2021-07-22T07:00:00","End": "2021-07-22T17:00:00","Recurrence": "<RecurrenceInfo Id=\"a02837e5-787b-4797-a44d-adbe8aef2fdf\" Index=\"527138\" />",{
      "Start": "2021-07-19T07:00:00","End": "2021-07-19T14:00:00","Recurrence": "<RecurrenceInfo Id=\"a02837e5-787b-4797-a44d-adbe8aef2fdf\" Index=\"527135\" />","Type": "ChangedOccurrence"
    }
  ]

祝你在今天的 TaskA 开始的时候找到好运。

我希望应该有一个助手类或一些标准程序来简化给定日期/时间与约会集合的测试。某种命中测试。但我找不到有关该主题的任何内容。这些教程没有帮助。例如,在 this one 中,约会是使用与将 TaskA 数据结构导入数据库非常相似的存储,但省略了后端部分。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)