New to Telerik UI for WPF? Download free 30-day trial

RecurrencePatternHelper

When working with saving recurrence patterns, the RadScheduleView's API provides us with the RecurrencePatternHelper class, which comes from the Telerik.Windows.Controls.ScheduleView.ICalendar namespace. The helper provides two main functions - turning a recurrence pattern into a nicely serialized string for storage and producing a recurrence pattern when you provide that string back to it.

The purpose of this tutorial is to show you how to:

Serialize a RecurrencePattern to String

When you want to turn (serialize) a recurrence pattern into a string, then you need to use the RecurrencePatternHelper's RecurrencePatternToString() static method. The method accepts one argument - the pattern that must be serialized and returns the result string.

For example, consider the following RecurrencePattern declaration:

var pattern = new RecurrencePattern() 
{ 
    Frequency = RecurrenceFrequency.Daily, 
    DaysOfWeekMask = RecurrenceDays.WeekDays, 
    Interval = 3, 
    MaxOccurrences = 10 
}; 
Dim pattern = New RecurrencePattern() With { 
    .Frequency = RecurrenceFrequency.Daily, 
    .DaysOfWeekMask = RecurrenceDays.WeekDays, 
    .Interval = 3, 
    .MaxOccurrences = 10 
} 

A new daily recurrence pattern is created that occurs only in the week days. The interval between each occurrence is three days. The pattern has a limit of ten occurrences.

The next code snippet demonstrates you how to use the RecurrencePatternToString() static method.

var serializedPattern = RecurrencePatternHelper.RecurrencePatternToString(pattern); 
Dim serializedPattern = RecurrencePatternHelper.RecurrencePatternToString(pattern) 

After executing the above example the result string will be: FREQ=DAILY;COUNT=10;INTERVAL=3;BYDAY=MO,TU,WE,TH,FR.

Deserialize a RecurrencePattern from String

When you want to produce (deserialize) a recurrence pattern from a string, then you need to use the RecurrencePatternHelper's TryParseRecurrencePattern static method. The method accepts two arguments:

  • The source string - the string which the recurrence pattern will be parsed from.

  • The second parameter is an out parameter. This is the parsed pattern.

Consider the serialized string from the previous example: FREQ=DAILY;COUNT=10;INTERVAL=3;BYDAY=MO,TU,WE,TH,FR. If you want to produce a recurrence pattern from that string, invoke the TryParseRecurrencePattern method like in the example below.

var serializedPattern = "FREQ=DAILY;COUNT=10;INTERVAL=3;BYDAY=MO,TU,WE,TH,FR"; 
RecurrencePattern pattern; 
RecurrencePatternHelper.TryParseRecurrencePattern(serializedPattern, out pattern); 
Dim serializedPattern As String = "FREQ=DAILY;COUNT=10;INTERVAL=3;BYDAY=MO,TU,WE,TH,FR" 
Dim pattern As RecurrencePattern 
RecurrencePatternHelper.TryParseRecurrencePattern(serializedPattern, pattern) 

The result will be a new daily recurrence pattern that occurs only in the week days. The interval between each occurrence is three days. The pattern has a limit of ten occurrences.

See Also

In this article