DoubleTap on a recursive appointment does not return a correct version of the appointment created from

Hi there,

I have the following situation.

Doubletap on an instance of a recursive appointment created from a custom object (Meeting) returns a Meeting object with loss of the extra data  added to the custom Meeting object (see Meeting.BusinessSpecificData in MainViewModel.BuildMeetings).

In attached project I've created a recurring appointment for the entire year and 2 individual appointments on June 1st and June 3rd.
Double tapping an individual appointment returns a Meeting object with BusinessSpecificData filled in.
Double tapping a recurring appointment returns a Meeting object without the BusinessSpecificData filled in.

How can I get a filled in version of the Meeting object when double tapping a recurring appointment?
Can you use your proposed solution for 'How to find an instance of a recursive meeting on a future date' behind the scenes of the DoubleTap event to create a correct filled in Meeting object in my case.


Kind regards,
Pascal Desmet


Attachment: SchedulerQuestion2_3547be3.zip

1 Reply 1 reply marked as answer

SS SaiGanesh Sakthivel Syncfusion Team June 1, 2022 01:26 PM UTC

Hi Pascal,


#Regarding How to get the Actual Recurrence Appointment from the recurrence appointment.

We suggest you use the GetPatternAppointment method in the SchedulerRecurrenceManager class to get the actual recurrence appointment. And the occurrence appointment has been cloned with the appointment mapping fields mentioned alone, the additional property can get from the actual occurrence appointment by using the  GetPatternAppointment method.


Code snippet

private void SfScheduler_DoubleTapped(object sender, SchedulerDoubleTappedEventArgs e)

{

    var vm = BindingContext as MainViewModel;

    if (vm == null || e.Appointments?.Any() == false) return;

    var actualAppointment = SchedulerRecurrenceManager.GetPatternAppointment(this.SfScheduler, e.Appointments.First());

    vm.ShowInfo(e.Appointments.First() as Meeting, (actualAppointment as SchedulerAppointment).Data as Meeting);

}

 

internal void ShowInfo(Meeting meeting, Meeting ActualAppointment)

{

    InfoText = meeting.EventName + "-" + ActualAppointment.BusinessSpecificData;

}


Please refer to the modified sample in the following locations.

Sample: https://www.syncfusion.com/downloads/support/directtrac/general/ze/SchedulerQuestion21715653249


Note: We will update the UG documentation to get the recurrence and occurrence appointment details by using the SchedulerRecurrenceManager helper class.


Please let us know if you have any concerns.


Regards,
SaiGanesh Sakthivel


Marked as answer
Loader.
Up arrow icon