/// <summary>Overloaded. Converts the given value object to the specified type.</summary> public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (destinationType == typeof(string)) { RecurrenceRule rrule = value as RecurrenceRule; if (rrule != null) { return(rrule.ToString()); } } return(base.ConvertTo(context, culture, value, destinationType)); }
public void FormatWeeklySeries() { var rule = new RecurrenceRule { Type = RecurrenceType.Weekly, Interval = 1, DaysOfWeek = new List <int> { (int)DayOfWeek.Monday, (int)DayOfWeek.Tuesday, (int)DayOfWeek.Wednesday, (int)DayOfWeek.Thursday, (int)DayOfWeek.Friday } }; Assert.AreEqual("week_1___1,2,3,4,5#no", rule.ToString()); }
private void ProcessRecurringCalendarItem(Appointment targetAppointment, CalendarItemType calendarItem, RadScheduler owner, ICollection <Appointment> instances) { targetAppointment.RecurrenceState = RecurrenceState.Master; RecurrencePattern pattern = calendarItem.Recurrence.Item.ConvertToRecurrencePattern(); RecurrenceRange range = calendarItem.Recurrence.Item1.ConvertToRecurrenceRange(); range.EventDuration = targetAppointment.Duration; range.Start = targetAppointment.Start; RecurrenceRule rrule = RecurrenceRule.FromPatternAndRange(pattern, range); if (calendarItem.ModifiedOccurrences != null) { foreach (CalendarItemType modifiedOccurrence in GetModifiedOccurrences(calendarItem)) { foreach (Appointment aptException in CreateAppointmentsFromCalendarItem(owner, modifiedOccurrence)) { aptException.RecurrenceState = RecurrenceState.Exception; aptException.RecurrenceParentID = calendarItem.ItemId.Id; instances.Add(aptException); } rrule.Exceptions.Add(modifiedOccurrence.OriginalStart); } } if (calendarItem.DeletedOccurrences != null) { foreach (DeletedOccurrenceInfoType occurenceInfo in calendarItem.DeletedOccurrences) { rrule.Exceptions.Add(occurenceInfo.Start); } } targetAppointment.RecurrenceRule = rrule.ToString(); }