| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method InitializeTable ( |
| | | LibCal_Calendars subscribers, |
| | | LibCal_EventCategory category |
| | | LibCal_Calendars subscribers |
| | | ) |
| | | { |
| | | TextBody: |
| | |
| | | traverse( subscribers, Elements, subscriber ){ |
| | | // info( '------------------------', subscriber.CalendarID(), subscriber.CalendarType() ); |
| | | // traverse( subscriber,Participation.astype( LibCal_Subscription ).LeadingParticipation, participation ){ |
| | | traverse( subscriber,Participation.astype( LibCal_Subscription ).LeadingParticipation, participation, participation.Event().EventCategory() = category ){ |
| | | traverse( subscriber,Participation.astype( LibCal_Subscription ).LeadingParticipation, participation, participation.Event().EventCategory().Name() = 'Unavailable' ){ |
| | | // info( '------------------------', participation.Event().Subject(), '------', participation.Event().EventCategory().Name() ); |
| | | event := participation.Event(); |
| | | row := selectobject( this, LibCal_SubscriberEventRow, row, row.Subscriber() = subscriber.CalendarID() and row.Event() = event.Subject() and row.EventType() = event.EventType() ); |
| | | row := selectobject( this, LibCal_SubscriberEventRow, row, row.Subscriber() = subscriber.CalendarID() |
| | | and row.Event() = event.Subject() |
| | | and row.EventType() = event.EventType().Name() |
| | | ); |
| | | if( isnull( row ) ){ |
| | | row := this.LibCal_SubscriberEventRow( relnew, RowNr := rownr, Subscriber := subscriber.CalendarID(), Event := event.Subject(), EventType := event.EventType() ); |
| | | row := this.LibCal_SubscriberEventRow( relnew, RowNr := rownr, Subscriber := subscriber.CalendarID(), |
| | | Event := event.Subject(), |
| | | EventType := event.EventType().Name() ); |
| | | |
| | | if( counter( this, LibCal_SubscriberEventRow, linerow, linerow.Subscriber() = row.Subscriber() ) = 1 ){ |
| | | subscribercell := subscribercolumn.LibCal_SubscriberEventCell( relnew, Value := row.Subscriber() ); |
| | | row.LibCal_SubscriberEventCell( relinsert, subscribercell ); |
| | | subscribercell := subscribercolumn.LibCal_SubscriberEventCell( relnew, Value := row.Subscriber() ); |
| | | if( counter( this, LibCal_SubscriberEventRow, linerow, linerow.Subscriber() = row.Subscriber() ) <> 1 ){ |
| | | subscribercell.Value( '' ); |
| | | } |
| | | row.LibCal_SubscriberEventCell( relinsert, subscribercell ); |
| | | |
| | | eventcell := eventcolumn.LibCal_SubscriberEventCell( relnew, Value := row.Event() ); |
| | | row.LibCal_SubscriberEventCell( relinsert, eventcell ); |
| | |
| | | startTime := participation.StartDate().DateTime( timezone ).AddAsPeriod( timezone, event.StartTimeOfDay() ); |
| | | // info( this.ID(), startTime, endTime ); |
| | | if( this.ID() = 'Day' ){ |
| | | this.InitializeDay( this, row, startTime, endTime ); |
| | | this.InitializeDay( this, row, startTime, endTime, event.Description() ); |
| | | }else if( this.ID() = 'Week' ){ |
| | | this.InitializeWeek( this, row, startTime, endTime ); |
| | | this.InitializeWeek( this, row, startTime, endTime, event.Description() ); |
| | | }else{ |
| | | this.InitializeMonth( this, row, startTime, endTime ); |
| | | this.InitializeMonth( this, row, startTime, endTime, event.Description() ); |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | traverse( this, LibCal_SubscriberEventColumn, column ){ |
| | | traverse( this, LibCal_SubscriberEventRow, row ){ |
| | | if( not exists( column, LibCal_SubscriberEventCell, cell, cell.LibCal_SubscriberEventRow() = row ) ) { |
| | | cell := column.LibCal_SubscriberEventCell( relnew, Value := '' ); |
| | | row.LibCal_SubscriberEventCell( relinsert, cell ); |
| | | } |
| | | } |
| | | } |
| | | *] |
| | | } |