在我的MVC应用程序中,我的用户表示他们每年会在3月和9月进行两次书面测试。但是,如果用户未通过测试,则他们在90天内重新测试(不一定是3月或9月)。将日期更新到特定的月份
例如,如果用户需要他们的第一个测试上3/2/2016
,并且该用户通过,则该用户并不需要采取其他的测试,直到ANYDAY在九月。但如果该用户失败,那么该用户需要在5月31日重新进行测试。所以让我试着用一点代码来说明这一点。
DateTime usersTestDate = new DateTime(2016, 3, 2);
// user fails
usersTestDate = usersTestDate.AddDays(90);
// usersTestDate is now 5/31/2016
// now the user retakes the test and passes
// usersTestDate should now be in September of 2016.
我如何获得这样的事情发生,因为usersTestDate基本上可以是用户未能..基本上,如果用户通过考试的,除了三月或九月任月份重录书中的任何日期。我怎样才能让他们的新约会在三月或九月?
我创建了一个dotnetfiddle
任何帮助表示赞赏。
UPDATE
如果他们已经失败一次之后再次失败,那么他们夺回保持每90天。如果他们继续在3月份的测试中失败,那么他们会跳过9月,如果他们通过,就再次进入3月
当他们第二次失败时会发生什么?他们再试一次吗?当他们在3月份的考试中失败时,会发生什么? – Jonesopolis
@Jonesopolis对不起,我没有添加。如果他们在失败一次后再次失败,那么他们会每90天重复一次。如果他们在3月份的测试中失败,那么他们会跳过9月,如果他们通过 –
,那么他们会再次跳到3月份听起来您对这些要求有一个体面的想法,您是否对如何将该英文翻译成代码感到困惑? – Jonesopolis