DayPilot SQL - 复制没有日期的约会

Dav*_*ard 8 c# sql sql-server calendar daypilot

目前我有一个主旋转,它存储约会以及TIME和DAY但不是DATE.对于主rota约会,SQL Server数据库如下所示.它是通过DAYPILOT日历控件创建的

在此输入图像描述

在此输入图像描述 正如您所看到的那样,时间存储但不是DATE但存储日.EG第0天是星期日,第1天是星期一等....

我想在UI中添加一个按钮,该按钮将从主旋转到LIVE rota的约会中复制,同时考虑到DATES

EG应在第1天(星期一)从主罗塔的任命中插入LIVE rota表,但在Daypilot日历控制EG的当前DATE中添加LIVE ROTA表中的分配开始将是2016-01- 16 09:30 它需要在daypilot日历中检查当周的当前日期,然后插入LIVE表.

这可能吗?如何检查当前日期并使用数据库中的日期字段确保DATE与正确的日期匹配?EG第0天,第1天等..?

用于创建主创建的当前SQL

public void CreateAssignment(DateTime start, DateTime end, int location, int     week, string person, string note, DayOfWeek day)
    {
        using (DbConnection con = CreateConnection())
        {
            con.Open();
            //string id = "";

            var cmd = CreateCommand("insert into [master_rota] ([AssignmentStart], [AssignmentEnd], [LocationId], [PersonId], [AssignmentNote], week, day) values (@start, @end, @location, @person, @note, @Week, @day)", con);
            AddParameterWithValue(cmd, "start", start.TimeOfDay);
            AddParameterWithValue(cmd, "end", end.TimeOfDay);
            AddParameterWithValue(cmd, "location", location);
            AddParameterWithValue(cmd, "week", week);
            AddParameterWithValue(cmd, "person", person);
            AddParameterWithValue(cmd, "note", note);
            if (day == DayOfWeek.Saturday)
            {
                AddParameterWithValue(cmd, "day", day - 6);
            }
            else
            AddParameterWithValue(cmd, "day", day + 1);

            cmd.ExecuteScalar();

        }
    }
Run Code Online (Sandbox Code Playgroud)

Ste*_*ers 2

以下是用于获取本周指定工作日的开始和结束日期/时间的纯 SQL 解决方案:

SELECT DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0) + day 
       - DATEPART(dw, GETDATE()) + [AssignmentStart] AS [StartInCurrentWeek],
       DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0) + day
       - DATEPART(dw, GETDATE()) + [AssignmentEnd] AS [EndInCurrentWeek]
FROM [master_rota];
Run Code Online (Sandbox Code Playgroud)

演示在这里: http: //rextester.com/URJP8148

(不确定这是否正是您想要的,但这只是一个开始,如果不符合要求,请告诉我......)