稼働時間を設定する場合はUltraCalendarInfoのDaysOfWeek(デフォルトの稼働時間の設定)、OwnersのDayOfWeekSettings(オーナー固有の稼働時間設定)で可能です。
いずれも曜日ごとにWorkDayStartTimeプロパティ(開始時間用)とWorkDayEndTimeプロパティ(終了時間用)で指定します。
- デフォルトの稼働時間を設定する場合
- UltraCalendarInfo.DaysOfWeekで各曜日ごとに設定
- 特定のオーナーの稼働時間を設定する場合
- UltraCalendarInfo.Ownersの該当オーナーオブジェクトのDayOfWeekSettingsで各曜日ごとに設定
- 開始時間
- WorkDayStartTimeプロパティで指定
- 終了時間
- WorkDayEndTimeプロパティで指定
コード例
// デフォルトの稼働開始時間9:00と稼働終了時間17:30を設定する。 // ultraCalendarInfo1.DaysOfWeekの各曜日に関してWorkDayStartTimeとWorkDayEndTimeを指定する。 foreach (var dayOfWeek in ultraCalendarInfo1.DaysOfWeek) { dayOfWeek.WorkDayStartTime = DateTime.Today.AddHours(9); dayOfWeek.WorkDayEndTime = DateTime.Today.AddHours(17).AddMinutes(30); } // "Charlie"の稼働時間を、月曜日は7:00~15:30、それ以外はデフォルトの稼働時間にする場合 // "Charlie"オーナーオブジェクトを取得する。 Owner charlie = ultraCalendarInfo1.Owners["Charlie"]; // CharlieのDayOfWeekSettingsの各曜日の設定に関して foreach (var dayOfWeekSetting in charlie.DayOfWeekSettings) { // 月曜日なら if(dayOfWeekSetting.DayOfTheWeek == System.DayOfWeek.Monday) { // 7:00~15:30で設定する。 dayOfWeekSetting.WorkDayStartTime = DateTime.Today.AddHours(7); dayOfWeekSetting.WorkDayEndTime = DateTime.Today.AddHours(15).AddMinutes(30); } // 月曜日以外なら else { // デフォルト(ultraCalendarInfoにある設定)を設定する dayOfWeekSetting.WorkDayStartTime = ultraCalendarInfo1.DaysOfWeek[dayOfWeekSetting.DayOfTheWeek].WorkDayStartTime; dayOfWeekSetting.WorkDayEndTime = ultraCalendarInfo1.DaysOfWeek[dayOfWeekSetting.DayOfTheWeek].WorkDayEndTime; } }
実行結果
月曜日の例。Charlieは7:00~15:30、それ以外の人は9:00~17:30になっています。
その他の曜日の例。全員が9:00~17:30になっています。
サンプル
ドキュメント
- 「オーナー固有の就業時間の設定方法」
- 「オーナーごとに異なる就業時間を設定」