admin
2025-01-22 7e31442f0e9b07764e9c6a9680d3d4aeba5fe1de
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
Quintiq file version 2.0
#parent: #root
StaticMethod CalculateRemark (
  const Unit unit,
  Date startDate,
  Date endDate
) as String
{
  TextBody:
  [*
    // Akari Nov-25-2024 (created)
    values := construct( Strings );
    
    traverse( unit.UnitCalendar(),Participation,participation,participation.Event().Type() = LibCal_Event::TYPE_UNAVAILABLE()){
        event := participation.Event();
        
        if( startDate >= event.EarliestStart() and endDate <= event.LatestEnd() ){
          intervals := selectset( event,LeadingParticipation.ExplicitTimeInterval,interval,LocalTool::IsAnyDurationContained( interval.Start(),interval.End(),startDate.DateTime(),endDate.DateTime() ));
          traverse( intervals,Elements,interval){
            values.Add( interval.Participation().Event().Subject() );
          }
        }
    }
    values := selectuniquevalues( values,Elements,value,true,value );
    
    result := "";
    traverse( values,Elements,value ){
      result := result + value + ";";
    }
    
    return ifexpr( result = "",result,result.SubString( 0,result.Length() - 1 ) );
  *]
}