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

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

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

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

10.12.2008 21:39:18
2 ОТВЕТА
РЕШЕНИЕ

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

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

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

3
10.12.2008 21:56:59

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

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

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

1
10.12.2008 21:50:26