【发布时间】:2022-07-08 00:44:13
【问题描述】:
我想知道如何简化我的查询,因为我知道我正在执行不好的做法并在事情上走得很远。
基本上,我每周都会将轮班输入到应用程序中,并且我正在计算每周的工作时间。我想知道如何根据已输入应用程序 (ShiftDate) 的已知班次获取一周的开始日期和一周的结束日期。
下面是 4 周的快速示例,我使用 moment.js 计算出一周的开始和结束,并将它们传递给 c# 函数(由 vStart、vEnd 等表示)。
我正在努力如何获取包含 x.ShiftDate 的一周的开始和结束
Week1 = pg.Sum(x => x.ShiftDate >= vStart1 && x.ShiftDate <= vEnd1 ? x.HoursWorked : 0),
Week2 = pg.Sum(x => x.ShiftDate >= vStart2 && x.ShiftDate <= vEnd2 ? x.HoursWorked : 0),
Week3 = pg.Sum(x => x.ShiftDate >= vStart3 && x.ShiftDate <= vEnd3 ? x.HoursWorked : 0),
Week4 = pg.Sum(x => x.ShiftDate >= vStart4 && x.ShiftDate <= vEnd4 ? x.HoursWorked : 0),
我想弄清楚如何只编写一次求和函数,而不必在一个月内每周重复一次
【问题讨论】: