【问题标题】:DayPilot SQL - Copying appointments that dont have a DateDayPilot SQL - 复制没有日期的约会
【发布时间】:2017-05-31 05:23:39
【问题描述】:

目前我有一个主列表,它存储约会以及时间和日期,但不存储日期。主列表约会的 SQL Server 数据库如下所示它是通过 DAYPILOT 日历控件创建的

如您所见,存储了时间,但没有存储日期,而是存储了日期。例如,第 0 天是星期日,第 1 天是星期一,等等......

我想在 UI 中添加一个按钮,该按钮会将约会从主列表复制到实时列表中,同时考虑到日期

EG 第 1 天(星期一)的主轮班安排应插入 LIVE 轮班表,但在 Daypilot 日历控件中添加当前周的 DATE EG,LIVE ROTA 表中的分配开始时间为 2016 -01-16 09:30。它需要在 daypilot 日历中检查当前星期几,然后插入到 LIVE 表中。

这可能吗?如何使用数据库中的日期字段检查当前 DATE 并确保 DATE 与正确的日期匹配? E.G 第 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();

        }
    }

【问题讨论】:

  • 有人知道吗?

标签: c# sql sql-server calendar daypilot


【解决方案1】:

这是获取当前一周中指定工作日的开始和结束日期/时间的仅限 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];

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

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

【讨论】:

    猜你喜欢
    • 2017-05-26
    • 1970-01-01
    • 2015-11-17
    • 2017-05-26
    • 2016-01-04
    • 1970-01-01
    • 1970-01-01
    • 2015-01-30
    • 2013-01-31
    相关资源
    最近更新 更多