Я разрабатываю календарь доступности. У бронируемых событий может быть доступно 1 или несколько ресурсов для бронирования, и события могут повторяться и иметь некоторые базовые функции, такие как редактирование одного экземпляра повторяющегося события и т. Д. (Например, Google Calendar). Календарь также должен иметь возможность хранить заказы.Бронирование календаря дизайн модели
Пример: Каждый понедельник в 10:00, до конца 2014 года группа А не иметь в своем распоряжении 2 ресурсов, но не в понедельник 24/6. В прошлый понедельник UserX и UserY был забронирован на этом Событии, UserX не появился.
Я рассмотрел несколько шаблонов проектирования для повторяющихся событий, но не могу найти хороший и элегантный способ обработки как повторяющихся событий, так и привязки деталей к отдельному событию.
Я проделал некоторое моделирование ниже, где храню событие и повторение в Event, тогда мне нужно создать экземпляр EventDetails для каждого отдельного события.
class Event {
Date start
Date end
boolean isRecurring
EventRecurType recurType // DAILY, WEEKLY ...
Integer recurInterval = 1
Date recurEnd
Integer recurCount
List<EventDetails> eventDetails // Id, start, end, BookingDetails et.c.
}
Я уверен, что есть лучший способ сделать это, не могли бы вы помочь мне?
Нет, не совсем то, что я искал. – loddn
Зак вы можете разместить образец sql, я ищу что-то подобное по совету, чтобы работать с DDay – aggie
Попробуйте сначала использовать графический интерфейс, а затем посмотрите на синтаксис show create table. Что такое DDay (Normandy?)? –