我有一组要求,我还不能决定最好的实施方式。
我在数据库中有一个提交表,包括提交的日期(Submission.Name,Submission.Date)。
每年,我们希望用户提交 2 次,一次在 4 月 1 日之前,一次在 12 月 1 日之前
要求表明我们在主页上向用户显示通知,该通知可以是以下三种之一:
- 本期提交已完成(绿色)
- 本期结束时提交待处理(蓝色)
- 上一期未完成提交(红色)
还有一条额外的规则是,如果提交逾期超过 3 个月,那么我们应该显示即将到来的截止日期的提交待处理通知(蓝色)而不是红色通知。
问题在于,在尝试确定当前期间前 3 个月的提交是否应计入当前期间,或者是否只是前一段时间的延迟提交(这将过期)。
检查之前的期间是否过期可能还需要检查他们的之前的期间......等等。使它比我希望的更复杂。
到目前为止,这些选项看起来像是使用 EntityFramework 查询表以计算状态,或者在代码中实现此逻辑,但是,到目前为止,这两个选项似乎都不是微不足道的。
谁能看到解决此类问题的更好方法?或者有没有人有任何 Linq 技巧可以一次性做到这一点?
编辑:我们希望每年提交 2 次,但用户可以在每个时期自由提交超过 1 次,因此很难解释提交与逾期期的关联
提前致谢