ブッキングのモジュールの書き方を教えて下さい。
2017年10月10日
対応
ここでは純粋に1つのタイム ビューの同一アイテムに存在するピースに時間の重複があったケースについて考えます。
まず重複が発生するケースですが、例えば以下のケースが考えられます(アプリケーションの作りによっては他のケースも考えられますので、適宜対応する必要があることに注意してください)。
(1)ピースをマウス操作により追加する
(2)ピースをマウス操作により同一アイテム内で移動
(3)ピース(またはピースに相当する情報)をマウス操作によりアイテム/タイムビューオブジェクトをまたがって移動・複写
(4)ピースの開始日時、終了日時をマウス操作により伸縮
上記はいずれもユーザーのマウス操作をきっかけに重複が発生するケースです。各操作にはイベントが発生いたしますので、そのイベント・ハンドラ内で操作後のピースの開始日時、終了日時を(必要に応じて)計算の上取得し、同一アイテム内に存在するピースに重複するものがあるかどうかをチェックいたします(同一アイテム内に存在するピースはコレクションになっているので、簡単に取得することが可能です)
タイム ビューのプロパティによって、上記操作のいずれかは禁止されますので、そのような場合は、該当するイベントハンドラでのチェックは必要なくなる可能性があります。
またコーディングでピースを追加している場合は、同様のチェックを行う必要があります。
