| 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' } |  | } | 
 |