空き状況カレンダーを作成しています。予約可能なイベントには、予約に使用できる 1 つ以上のリソースがあり、イベントは定期的であり、定期的なイベントの 1 つのインスタンスの編集などの基本的な機能 (たとえば、Google カレンダーなど) を持つことができます。カレンダーは予約も保存できる必要があります。
例: 2014 年末まで、毎週月曜日の 10:00 に、ユニット A には 2 つのリソースが利用可能ですが、24/6 の月曜日には利用できません。先週の月曜日、UserX と UserY はそのイベントで予約されましたが、UserX は現れませんでした。
定期的なイベントの設計パターンをいくつか見てきましたが、定期的なイベントと個々のイベントへの詳細の添付の両方を処理するための適切でエレガントな方法を実際に見つけることができません。
イベントと繰り返しを Event に格納するモデリングをいくつか行った後、個々のイベントごとに EventDetails-instance を作成する必要があります。
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.
}
これを行うためのより良い方法があると確信しています、私を助けてもらえますか?