C# 我试图理解我将如何实现这个逻辑

C# 我试图理解我将如何实现这个逻辑,c#,asp.net,database,mailer,C#,Asp.net,Database,Mailer,我有一个mailer应用程序,它每天向订阅它的员工发送文章 这些文章每天手动更新。由于没有人在周六和周日手动更新文章,员工不应该在接下来的周日和周一收到文章。我成功地实现了这一逻辑 DataSet newsData = this._biData.GetAutomailListNotes(user.UserId, categories, newsEmailSentDateTime); DayOfWeek dayOfTheWeek = this._configurationOverrid

我有一个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))
现在,我的客户希望我实现一个逻辑,也包括假期

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


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

希望有帮助