Я пытаюсь понять, как я собираюсь реализовать эту логику - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть это почтовое приложение, которое ежедневно рассылает статьи сотрудникам, подписавшимся на него.

Эти статьи ежедневно обновляются вручную. Поскольку там нет никого, кто мог бы вручную обновить статью в субботу и воскресенье, сотрудники не должны получать статью в следующие дни, воскресенье и понедельник. Мне удалось реализовать эту логику.

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 голосов
/ 13 ноября 2018

Я лично считаю, что вам нужно отделить свой код, чтобы распознать праздник из другой логики.
Создайте функцию для того же самого, воспользуйтесь бесплатными онлайн-сервисами API, такими как этот здесь , чтобы выяснить, является ли этот день праздником или нет, верните результат обратно в основную логику.

Надеюсь, это поможет.

...