Open jvraines opened 1 month ago
This code
Calendar myCal = new Calendar(); CalendarEvent myEvent = new CalendarEvent { Start = new CalDateTime(2024, 12, 1, 12, 0, 0), End = new CalDateTime(2025, 1, 1, 18, 0, 0), RecurrenceRules = new List<RecurrencePattern> { new RecurrencePattern { Frequency = FrequencyType.Daily } } }; myEvent.ExceptionDates.Add(new PeriodList { new CalDateTime(2024, 12, 25) new CalDateTime(new DateTime(2024, 12, 26)) }); myCal.Events.Add(myEvent); Console.WriteLine(new CalendarSerializer().SerializeToString(myCal));
produces
BEGIN:VCALENDAR PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 4.0//EN VERSION:2.0 BEGIN:VEVENT DTEND:20250101T180000 DTSTAMP:20240901T232258Z DTSTART:20241201T120000 EXDATE:20241225T000000,20241226/P1D RRULE:FREQ=DAILY SEQUENCE:0 UID:d65129f0-d00c-46d1-a7d2-81a73a41990d END:VEVENT END:VCALENDAR
The first excluded date is an acceptable DATE-TIME value type. The second, however, is a PERIOD value type which is not permitted by the EXDATE spec.
This code
produces
BEGIN:VCALENDAR PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 4.0//EN VERSION:2.0 BEGIN:VEVENT DTEND:20250101T180000 DTSTAMP:20240901T232258Z DTSTART:20241201T120000 EXDATE:20241225T000000,20241226/P1D RRULE:FREQ=DAILY SEQUENCE:0 UID:d65129f0-d00c-46d1-a7d2-81a73a41990d END:VEVENT END:VCALENDAR
The first excluded date is an acceptable DATE-TIME value type. The second, however, is a PERIOD value type which is not permitted by the EXDATE spec.