Quintiq file version 2.0 #parent: #root Method CreateUpdateEventAndParticipation () as LibCal_Event id:Method_LibCal_dlgEvent_CreateUpdateEventAndParticipation { #keys: '[131094.1.136167643]' Body: [* sEvent := Dialog.Data(); sLeadPart := dhLeadingParticipation.Data(); // Get the values from the controls. // Event and LeadingParticipation subject := edtName.Text(); description := edtDescription.Text(); type := rbgEventType.BoundValue(); capacity := this.StringToReal( edtCapacity.Text() ); category := selCategory.Data(); isDefault := ckbIsDefault.Checked(); startDate := datStartDate.Date() startTimeOfDay := durStartTimeOfDay.Duration(); endDate := datEndDate.Date(); endTimeOfDay := durEndTimeOfDay.Duration(); isAllDay := ckbIsAllDay.Checked(); // When running in days only mode, use the number of days to calculate the end date. // Set the times to 0:00 (just to be sure), and set isAllDay. if( LibCal_Event::USE_ONLY_DAYS() ) { endDate := startDate + vhDuration.Data().Days(); endTimeOfDay := Duration::Zero(); startTimeOfDay := Duration::Zero(); isAllDay := true; } // RecurrencePattern patternType := this.GetPatternType(); isRecurring := not btnNoRecurrence.Pressed(); recurrenceInterval := this.GetRecurrenceInterval(); // Daily daily_IsEveryWeekday := ckbEveryWeekday.Checked(); // Weekly weekly_Weekdays := ifexpr( btnMonday .Pressed(), "Mon;", "" ) + ifexpr( btnTuesday .Pressed(), "Tue;", "" ) + ifexpr( btnWednesday.Pressed(), "Wed;", "" ) + ifexpr( btnThursday .Pressed(), "Thu;", "" ) + ifexpr( btnFriday .Pressed(), "Fri;", "" ) + ifexpr( btnSaturday .Pressed(), "Sat;", "" ) + ifexpr( btnSunday .Pressed(), "Sun;", "" ); // Monthly monthly_IsDay := ckbMonthlyDay.Checked(); monthly_Day := [Number]edtMonthlyDay.Text(); monthly_WeekOfMonth := ssMonthlyPatternWeekOfMonth.BoundValue(); monthly_DayOfWeek := ssMonthlyPatternDayOfWeek.BoundValue(); // Yearly yearly_IsDate := ckbYearlyDay.Checked(); month := ifexpr( yearly_IsDate, ssYearlyMonth.BoundValue(), ssYearlyPatternMonth.BoundValue() ); yearly_Month := this.GetNrOfMonth( month ); yearly_Day := [Number]ssYearlyDayOfMonth.BoundValue(); yearly_WeekOfMonth := ssYearlyPatternWeekOfMonth.BoundValue(); yearly_DayOfWeek := ssYearlyPatternDayOfWeek.BoundValue(); // RecurrencePeriod periodType := this.GetPeriodType(); periodStartDate := datStartOfPeriod.Date(); periodEndDate := datEndOfPeriod .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, type, 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; *] }