У меня есть это почтовое приложение, которое ежедневно рассылает статьи сотрудникам, подписавшимся на него.
Эти статьи ежедневно обновляются вручную. Поскольку там нет никого, кто мог бы вручную обновить статью в субботу и воскресенье, сотрудники не должны получать статью в следующие дни, воскресенье и понедельник. Мне удалось реализовать эту логику.
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))
Теперь мой клиент хочет, чтобы я внедрил логику, которая также охватывает праздники.
В базе данных у нас есть столбец «Создано». Он хранит дату и время, когда статья была создана. Я хочу реализовать логику, которая гласит, что если статья создана после того, как пользователь получил почтовую программу сегодня, то отправьте почтовую программу завтра снова с новыми статьями, иначе не отправляйте ее. Пользователь может подписаться на несколько статей. Я даже не уверен, что это хорошая стратегия. Любые рекомендации будут оценены.
