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;
|
*]
|
}
|