yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Quintiq file version 2.0
#parent: #root
StaticMethod Calendar_Settings (
  String calendar_i,
  DateTime base_i,
  Duration updateInterval_i,
  Number windowNrOfDays_i,
  Number historyNrOfDays_i
) as owning FeedbackObject
{
  TextBody:
  [*
    // Use a FeedbackObject to collect the validation feedback.
    feedback := LibCal_Validate::FeedbackObject();
    
    calendarID := "Calendar = " + calendar_i;
    
    // Base
    moreInfo := calendarID + ", Base = " + [String]base_i;
    LibCal_Validate::RegisterError( LibCal_Validate::Calendar_Base( base_i ), moreInfo );
    
    // UpdateInterval
    moreInfo := calendarID + ", UpdateInterval = " + [String]updateInterval_i;
    LibCal_Validate::RegisterError( LibCal_Validate::Calendar_UpdateInterval( updateInterval_i ), moreInfo );
    
    // Window
    moreInfo := calendarID + ", Window = " + [String]windowNrOfDays_i;
    LibCal_Validate::RegisterError( LibCal_Validate::Calendar_Window( windowNrOfDays_i ), moreInfo );
    
    // History
    moreInfo := calendarID + ", History = " + [String]historyNrOfDays_i;
    LibCal_Validate::RegisterError( LibCal_Validate::Calendar_History( historyNrOfDays_i ), moreInfo );
    
    if( feedback.IsAllowed() )
    {
      // Window and History; only validate if both are valid.
      moreInfo := calendarID + ", Window = "  + [String]windowNrOfDays_i
                             + ", History = " + [String]historyNrOfDays_i;
      LibCal_Validate::RegisterError( LibCal_Validate::Calendar_Window_History( windowNrOfDays_i, historyNrOfDays_i ), moreInfo );
    }
    
    return &feedback;
  *]
  InterfaceProperties { Accessibility: 'Module' }
}