Quantcast
Channel: Telerik Forums RSS
Viewing all articles
Browse latest Browse all 94857

How to delete one exception occurence issued from recurrence ?

$
0
0

In fact, i deleted this code from GetAppointments ​into the provider :

if (apt.RecurrenceParentID != null)
{
   apt.RecurrenceState = RecurrenceState.Exception;
}

 Because, for me, this ocurrence (previously moved from series) is now with a type NotRecuring.
And it's working great like this.

The original code is here :

http://docs.telerik.com/devtools/aspnet-ajax/controls/scheduler/data-binding/providers/implementing-a-provider-that-supports-multi-valued-resources

To answer to you previous post, this is a part of my code for the GetAppointments method :

public override IEnumerable<Appointment> GetAppointments(RadScheduler owner)
{
    List<Appointment> appointments = new List<Appointment>();
    List<CAppointmentInfo> appointmentInfos = new List<CAppointmentInfo>();
    List<CAppointmentInfo> uniqueAppointmentInfos = AppointmentInfos.Where(x => x.Start >= owner.VisibleRangeStart && x.End <= owner.VisibleRangeEnd && x.RecurrenceRule == string.Empty).ToList();
    List<CAppointmentInfo> recurrenceAppointmentInfos = AppointmentInfos.Where(x => x.RecurrenceRule != string.Empty).ToList();
    appointmentInfos.AddRange(uniqueAppointmentInfos);
    appointmentInfos.AddRange(recurrenceAppointmentInfos);
 
    foreach (CAppointmentInfo appointmentInfo in appointmentInfos)
    {
        Appointment apt = new Appointment();
        apt.Owner = owner;
        apt.ID = appointmentInfo.ID;
        apt.Subject = appointmentInfo.Subject;
        apt.Start = DateTime.SpecifyKind(appointmentInfo.Start, DateTimeKind.Utc);
        apt.End = DateTime.SpecifyKind(appointmentInfo.End, DateTimeKind.Utc);
        apt.RecurrenceRule = appointmentInfo.RecurrenceRule;
        apt.RecurrenceParentID = appointmentInfo.RecurrenceParentID;
        if (appointmentInfo.Reminder != null)
        {
            IList<Reminder> reminders = Reminder.TryParse(appointmentInfo.Reminder);
            if (reminders != null)
            {
                apt.Reminders.AddRange(reminders);
            }
        }
 
        if (apt.RecurrenceRule != string.Empty)
        {
            apt.RecurrenceState = RecurrenceState.Master;
        }
 
        LoadResources(appointmentInfo, apt);
        appointments.Add(apt);
    }
 
    return appointments;
}

Viewing all articles
Browse latest Browse all 94857

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>