Is there any work around to this so I can achieve this result?
What I need is to edit only one (1) recurrence
What I want to achieve is this:
If that is not possible then I can maybe do this:
But, I cannot achieve this. Can you help me with my problem? Thanks.
|
IRecurringScheduleAppointment item1 = new ArrayListAppointment();
item1.StartTime = new DateTime(2015, 1, 1);
item1.EndTime = new DateTime(2015, 1, 1);
item1.RecurrenceRule = "01.01.2010;31.12.2015;Every YEAR on NOV 5";
item1.Subject = "Rule1";
item1.LabelValue = 1;
item1.RecurringOnOverride = true;
AddRecurrenceAppointment(item1);
IRecurringScheduleAppointment item2 = new ArrayListAppointment();
item2.StartTime = new DateTime(2016, 1, 1);
item2.EndTime = new DateTime(2016, 1, 1); ;
item2.RecurrenceRule = "01.01.2016;31.12.2016;Every YEAR on NOV 6";
item2.Subject = "Rule2";
item2.LabelValue = 1;
item2.RecurringOnOverride = true;
AddRecurrenceAppointment(item2);
IRecurringScheduleAppointment item3 = new ArrayListAppointment();
item3.StartTime = new DateTime(2017, 1, 1);
item3.EndTime = new DateTime(2017, 1, 1); ;
item3.RecurrenceRule = "01.01.2017;31.12.2020;Every YEAR on NOV 5";
item3.Subject = "Rule3";
item3.LabelValue = 1;
item3.RecurringOnOverride = true;
AddRecurrenceAppointment(item3);
private void AddRecurrenceAppointment(IRecurringScheduleAppointment item)
{
DateTime date = this.scheduleControl1.Calendar.SelectedDates[this.scheduleControl1.Calendar.SelectedDates.Count - 1];
scheduleProvider.AddNewRecurringAppointments(item, date);
} |
|
IRecurringScheduleAppointment item1 = new ArrayListAppointment();
item1.StartTime = new DateTime(2015, 1, 1);
item1.EndTime = new DateTime(2015, 1, 1);
item1.RecurrenceRule = "01.01.2010;31.12.2017;Every YEAR on NOV 5";
item1.Subject = "Rule1";
item1.LabelValue = 1;
item1.RecurringOnOverride = true;
item1.RecurrenceRuleID = this.scheduleProvider.GetUniqueID();
AddRecurrenceAppointment(item1);
IScheduleAppointmentList list = this.scheduleProvider.RecurringList;
List<IRecurringScheduleAppointment> deleteItem = newList<IRecurringScheduleAppointment>();
IRecurringScheduleDataProvider provider = this.scheduleControl1.DataSource asIRecurringScheduleDataProvider;
foreach (IRecurringScheduleAppointment item in list)
{
if (this.scheduleControl1.DataSource is IRecurringScheduleDataProvider)
{
//To identify that recurrence item using RecurrenceRuleID property.
if (item.RecurrenceRuleID == 1)
{
deleteItem.Add(item);
}
}
}
if (deleteItem.Count == 1)
{
//To remove all the recurring appointment based on the specified recurring item
provider.RemoveRecurringAppointments(deleteItem[0]);
this.scheduleControl1.DataSource.IsDirty = true;
deleteItem[0] = null;
//To add new appointment with new recurrence rule.
this.AddNewAppointmnent();
}
//To update the changes in scheduleControl.
this.scheduleControl1.GetScheduleHost().SetDataToDayPanels(); |