1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| Quintiq file version 2.0
| #parent: #root
| StaticMethod Create (
| LibCal_Calendar owner_i,
| DateTime startTime_i,
| DateTime endTime_i,
| Real capacity_i
| ) as LibCal_ExplicitTimeInterval
| {
| TextBody:
| [*
| interval := construct( LibCal_ExplicitTimeInterval,
| InitialStart := startTime_i, // InitialEnd is not stored to save memory
| Start := startTime_i,
| End := endTime_i,
| Capacity := capacity_i );
|
| // Let the Calendar know that its available capacity has changed.
| // Cannot be done from the OnCreate(), because that is apparently triggered before the relation with the Calendar is set.
| // Do registration here and not in the On Create of Notification NotifyCalendar in order to prevent a separate
| // reactive call (i.e. transaction) for each created TimeInterval.
| owner_i.RegisterChangedCapacity();
|
| return owner_i.AddTimeInterval( &interval ).astype( LibCal_ExplicitTimeInterval );
| *]
| InterfaceProperties { Accessibility: 'Module' }
| }
|
|