| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod CheckType ( | 
|   LibCal_Participations selection_i, | 
|   Boolean isEvent_i | 
| ) remote as Boolean | 
| { | 
|   TextBody: | 
|   [* | 
|     ok := false; | 
|      | 
|     if( selection_i.Size() = 1 ) | 
|     { | 
|       // Give more accurate feedback when there is only one element selected. | 
|       ok := LibCal_Participation::CheckType( selection_i.Element( 0 ), isEvent_i ); | 
|     } | 
|     else | 
|     { | 
|       feedback := FeedbackObject::LocalFeedback(); | 
|        | 
|       // All selected elements must be of correct type (i.e. all Event (i.e. LeadingParticipation) or all Subscription).  | 
|       isAllowed := ifexpr( isEvent_i, forall( selection_i, Elements, participation, true, participation.IsLeading() ), | 
|                                       forall( selection_i, Elements, participation, true, participation.IsSubscription() ) ); | 
|        | 
|       if( not feedback.CheckHard( isAllowed ) ) | 
|       { | 
|         subject := ifexpr( isEvent_i, "an event", "a subscription" ); | 
|         feedback.AddHard( Translations::Participation_NotAllTheSame( subject ) ); | 
|       } | 
|        | 
|       ok := feedback.IsAllowed(); | 
|     } | 
|      | 
|     return ok; | 
|   *] | 
| } |