Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
10.08.2021, 19:09
|
|||
---|---|---|---|
|
|||
Алгоритм для реализации событий календаря. |
|||
#18+
Нужно реализовать календарь с событиями (по типу outlook). Расписания для событий будут задаваться по типу windows task scheduler. Храниться расписание будет в БД в виде JSON. Пользователь должен иметь возможность вручную поменять дату конкретного события. Вопрос - как лучше это реализовать? У меня идея следующая, например: Есть расписание на месяц (Август 2021), события каждую среду - в бд сохраняем 1 тригер (JSON с этим описанием). [тригер - просто некое описание расписания в json, по триггерам программно генерим евенты] Потом пользователь решает перенести событие среды 18 числа на 17ое (вторник) - алгоритм вместо одного триггера создаст три, Первый триггер - от начала месяца (от 1 числа) до 11 числа (предыдущая среда). Второй триггер от 25 (след. среда после измененной) до конца месяца (до 31ого) Третий триггер - одиночный на сторник 17.08.2021 Т.е. алгоритм дробит исходное расписание, на новые. И именно это мне не нравится, думаю что пользователи внесут много изменений и у меня получится миллион отрезков... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.08.2021, 20:24
|
|||
---|---|---|---|
|
|||
Алгоритм для реализации событий календаря. |
|||
#18+
NetZee в бд сохраняем 1 тригер Зачем изобретать велосипед? Для дотнета же дофига уже написанных шедулеров. Навскидку - Quartz.NET . ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.08.2021, 08:39
|
|||
---|---|---|---|
|
|||
Алгоритм для реализации событий календаря. |
|||
#18+
Сон Веры Павловны, 1 Мне же карточки для календаря нужно нагенерировать. 2 У quartz нет же UI для пользователей. 2 Нет необходимости запускать таску прям в нужное время, в этой задаче можно и ночью проверить кто успел в дедлайн а кто нет Так что кварц тут не особо нужен ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.08.2021, 09:09
|
|||
---|---|---|---|
Алгоритм для реализации событий календаря. |
|||
#18+
NetZee, почему просто не хранить событие в виде объекта со свойствами eventID, eventDateTime, eventDescription При изменении даты события просто редактируется свойство eventDateTime. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.08.2021, 09:40
|
|||
---|---|---|---|
|
|||
Алгоритм для реализации событий календаря. |
|||
#18+
NetZee Нет необходимости запускать таску прям в нужное время ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.08.2021, 09:41
|
|||
---|---|---|---|
|
|||
Алгоритм для реализации событий календаря. |
|||
#18+
NetZee Т.е. алгоритм дробит исходное расписание, на новые. И именно это мне не нравится, думаю что пользователи внесут много изменений и у меня получится миллион отрезков... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.08.2021, 10:06
|
|||
---|---|---|---|
|
|||
Алгоритм для реализации событий календаря. |
|||
#18+
Shocker.Pro, Триггеры - это описание расписания. По этому расписанию генеринуются карточки. Например: Еженедельно каждую среду на 2021 год. Алгоритм нагенерит карточки и потом, для каждой карточки пойдет в БД проверять, все ли сделали пользователи что должны были... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.08.2021, 10:10
|
|||
---|---|---|---|
|
|||
Алгоритм для реализации событий календаря. |
|||
#18+
vb_sub, Уже примерно так и хочу сделать, вообще события генерируются автоматом на основе расписания, но те события которые пользователь изменил вручную будут сохраняться в БД, плюс у события будет свойство SourceDate (связка кастомного события с генеренным)- дата конкретного события из периодической цепочки... Это что бы автогенереное событие убрать а вместо него добавить кастомное ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&tablet=1&tid=1398249]: |
0ms |
get settings: |
27ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
189ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 308ms |
0 / 0 |