我试图了解我将如何实现此逻辑

时间:2018-11-13 18:41:43

标签: c# asp.net database mailer

我有这个邮件应用程序,每天都会向订阅它的员工发送文章。

这些文章每天都会手动更新。由于那里没有人可以在周六和周日手动更新文章,因此员工不应在周日和周一的第二天收到文章。我已经成功实现了这种逻辑。

DataSet newsData = this._biData.GetAutomailListNotes(user.UserId, 
    categories, newsEmailSentDateTime);

DayOfWeek dayOfTheWeek = this._configurationOverrides?.DayOfTheWeekOverride ?? 
    DateTime.Today.DayOfWeek;

// if user has an article to be sent.  Morning Markets are not sent on Sunday nor Monday
if (newsData.Tables[0].Rows.Count > 0 || 
    (isMorningMarketsUser && dayOfTheWeek != DayOfWeek.Sunday && 
    dayOfTheWeek != DayOfWeek.Monday))

现在,我的客户希望我也实施一个涵盖假期的逻辑。

在数据库中,我们有一个“创建日期”列。它存储创建文章的日期和时间。我要实现一个逻辑,该逻辑说如果文章是在用户今天收到邮件后创建的,然后明天再将新文章与新文章一起发送给邮件,否则就不要发送。用户可以订阅多篇文章。我什至不确定这是否是一个好策略。任何建议,将不胜感激。

enter image description here

1 个答案:

答案 0 :(得分:0)

我个人认为您需要将代码与其他逻辑区分开以识别假期。
为此创建一个函数,使用免费的在线api服务(例如此here)来确定这一天是否是假日,然后将结果返回到您的主要逻辑。

希望有帮助。