| Quintiq file version 2.0 | 
| #parent: #root | 
| Method CreateUpdateEventAndParticipation () as LibCal_Event id:Method_LibCal_dlgEvent_CreateUpdateEventAndParticipation | 
| { | 
|   #keys: '[131094.1.135028056]' | 
|   Body: | 
|   [* | 
|     sEvent    := dhEvent.Data(); | 
|     sLeadPart := dhLeadingParticipation.Data(); | 
|      | 
|     // Get the values from the controls. | 
|      | 
|     // Event and LeadingParticipation | 
|     subject        := edtName.Text(); | 
|     description    := edtDescription.Text(); | 
|     category       := ddlCategory.Data(); | 
|     isDefault      := ckbApplyToNewResources.Checked(); | 
|     startDate      := dsStartDate.Date(); | 
|     startTimeOfDay := durStartTimeOfDay.Duration(); | 
|     endDate        := dsEndDate.Date(); | 
|     endTimeOfDay   := durEndTimeOfDay.Duration(); | 
|     isAllDay       := ckbIsAllDay.Checked(); | 
|      | 
|     eventType := ddslType.Text(); | 
|     capacity  := this.StringToReal( edtCapacity.Text() );  // Always fill the capacity. | 
|      | 
|     // RecurrencePattern | 
|     isRecurring        := not btnOnce.IsPressed(); | 
|     recurrenceInterval := this.GetRecurrenceInterval(); | 
|     patternType        := this.GetPatternType(); | 
|      | 
|     // Daily | 
|     daily_IsEveryWeekday := ckbEveryWeekday.Checked(); | 
|      | 
|     // Weekly | 
|     weekly_Weekdays := ifexpr( btnMonday   .IsPressed(), "Mon;", "" ) | 
|                      + ifexpr( btnTuesday  .IsPressed(), "Tue;", "" ) | 
|                      + ifexpr( btnWednesday.IsPressed(), "Wed;", "" ) | 
|                      + ifexpr( btnThursday .IsPressed(), "Thu;", "" ) | 
|                      + ifexpr( btnFriday   .IsPressed(), "Fri;", "" ) | 
|                      + ifexpr( btnSaturday .IsPressed(), "Sat;", "" ) | 
|                      + ifexpr( btnSunday   .IsPressed(), "Sun;", "" ); | 
|      | 
|     // Monthly | 
|     monthly_IsDay       := ckbMonthlyDay.Checked(); | 
|     monthly_Day         := [Number]edtMonthlyDay.Text(); | 
|     monthly_WeekOfMonth := ssMonthlyPatternWeekOfMonth.Text(); | 
|     monthly_DayOfWeek   := ssMonthlyPatternDayOfWeek.Text(); | 
|      | 
|     // Yearly | 
|     yearly_IsDate      := ckbYearlyDay.Checked(); | 
|     month              := ifexpr( yearly_IsDate, ssYearlyMonth.Text(), ssYearlyPatternMonth.Text() ); | 
|     yearly_Month       := this.GetNrOfMonth( month ); | 
|     yearly_Day         := [Number]ssYearlyDayOfMonth.Text(); | 
|     yearly_WeekOfMonth := ssYearlyPatternWeekOfMonth.Text(); | 
|     yearly_DayOfWeek   := ssYearlyPatternDayOfWeek.Text(); | 
|      | 
|     // RecurrencePeriod | 
|     periodType      := this.GetPeriodType(); | 
|     periodStartDate := dsStartOfPeriod.Date(); | 
|     periodEndDate   := dsEndOfPeriod.Date(); | 
|     nrOfOccurrences := [Number]edtNrOfOccurrences.Text(); | 
|      | 
|     // All values are passed to the Server, only the relevant values are used there. | 
|     event := LibCal_Event::CreateUpdateFromUI( sEvent.Calendar(), sLeadPart.WrappedInstance(), | 
|                                                subject, description, eventType, capacity, category, isDefault, | 
|                                                startDate, startTimeOfDay, endDate, endTimeOfDay, isAllDay, | 
|                                                // RecurrencePattern | 
|                                                isRecurring, recurrenceInterval, patternType, | 
|                                                daily_IsEveryWeekday, | 
|                                                weekly_Weekdays, | 
|                                                monthly_IsDay, monthly_Day,  monthly_WeekOfMonth, monthly_DayOfWeek, | 
|                                                yearly_IsDate, yearly_Month, yearly_Day, yearly_WeekOfMonth, yearly_DayOfWeek, | 
|                                                // RecurrencePeriod | 
|                                                periodType, periodStartDate, nrOfOccurrences, periodEndDate, | 
|                                                // Subscribers | 
|                                                dhSubscribers.Data() ); | 
|     return event; | 
|   *] | 
| } |