Thank you for sending this detailed information, I understand the case now.
So another thing you could try is instead of changing the Start of the recurrence rule to exclude already completed occurrences is to make them exceptions of the recurrence rule. Here is what I mean:
Let's have a custom appointment with an additional enum property Status with the following values: "Not Done", "Success", Failure", the default is "Not Done".
Following your example of a recurrent appointment which will run every day at 9.00:
- create an exception appointment of the recurrence
rule by changing the "Status" property of the concrete occurrence to "Success"/"Failure".
In this way you will be able to track all the passed occurrences by checking the recurrence rule of the appointment. Additionally if you update the Start/End of the parent appointment, this will not affect the exception occurrences.
I hope this approach will be suitable to you.
Check out Telerik Analytics, the service which allows developers to discover app usage patterns, analyze user data, log exceptions, solve problems and profile application performance at run time. Watch the videos
and start improving your app based on facts, not hunches.