Как отслеживать повторяющееся событие календаря в C# / SQL Server?

Я хочу отображать повторяющееся событие на дисплее даты / времени в приложении. Это отображение даты и времени может иметь форму календаря, но это также может быть просто список предстоящих событий.

Как лучше всего отслеживать это событие, которое может повторяться?

Например: должно ли событие один раз сохраняться в базе данных и проецироваться / повторяться несколько раз в коде отображения? Должно ли событие сохраняться несколько раз, а затем просто визуализироваться?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
8
0
3 609
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я думаю, это зависит от типа мероприятия. Это похоже на Рождество, когда однажды оно приходит и случается, вы действительно не интересуетесь им до следующего события? Или это задача типа «Обязательно звонить маме каждый месяц», где, если это произойдет, а вы пропустили это, вы бы не захотели, чтобы это ушло?

Один из способов, которым я недавно реализовал последнее, заключался в том, чтобы иметь запись со столбцами next_occurrence (дата), reoccurence_period (еженедельно, ежемесячно, ежегодно и т. д.). Чтобы по мере приближения следующего вхождения оно отображалось в списке. Как только он будет передан, элемент списка будет иметь значок корзины, который при нажатии обновит запись до следующего появления в будущем.

Опять же, я не уверен, применимо ли это к вашей ситуации, но в моей это сработало.

Ответ принят как подходящий

Я делал что-то подобное раньше и основывал свою схему на таблице sysschedules SQL-серверов.

http://technet.microsoft.com/en-us/library/ms178644.aspx

Схема, указанная выше, позволит вам сохранить расписание для задания (события). Затем вы можете рассчитать, в какие даты произойдет событие, исходя из расписания. Это может быть длительный расчет, поэтому я бы попытался где-нибудь кэшировать этот результат.

Другие вопросы по теме