haorenhui
2023-10-30 6d6cc10d9e8e242661da7fd655dec155a09d676c
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
Quintiq file version 2.0
#parent: #root
Method GetDivergentCalendars (
  LibCal_Calendar leadingCalendar_i,
  structured[LibCal_Calendar] calendars_i
) as structured[LibCal_Calendar] id:Method_LibCal_dlgCalendarSettings_GetDivergentCalendars
{
  #keys: '[146730.0.1423911571]'
  Body:
  [*
    // Get calendars with settings that are different from the settings of the 'leading' calendar.
    divergentCalendars := construct( LibCal_Calendars );
    
    traverse( calendars_i, Elements, calendar )
    {
      isDifferent := calendar <> leadingCalendar_i and
                     ( calendar.TimeZone()       <> leadingCalendar_i.TimeZone()
                    or calendar.Base()           <> leadingCalendar_i.Base()
                    or calendar.UpdateInterval() <> leadingCalendar_i.UpdateInterval()
                    or calendar.Window()         <> leadingCalendar_i.Window()
                    or calendar.History()        <> leadingCalendar_i.History() );
    
      if( isDifferent )
      {
        divergentCalendars.Add( calendar );
      }
    }
    
    return &divergentCalendars;
  *]
  ReturnsOwning: true
}