public static string SerializeCalendar(Ical.Net.Interfaces.ICalendar calendar) { try { var serializer = new Ical.Net.Serialization.iCalendar.Serializers.CalendarSerializer(calendar); return(serializer.SerializeToString(calendar)); } catch (Exception) { return(null); } }
public static string SerializeEvent(Ical.Net.Interfaces.Components.IEvent eventObj) { try { var serializer = new Ical.Net.Serialization.iCalendar.Serializers.CalendarSerializer(); return(serializer.SerializeToString(eventObj)); } catch (Exception ex) { log4net.LogManager.GetLogger("ASC.Calendar").Error(ex); return(null); } }
public void EnsureAutomaticallySetDTSTAMPisSerializedAsKindUTC() { var ical = new Ical.Net.Calendar(); var evt = new Ical.Net.Event(); ical.Events.Add(evt); var serializer = new Ical.Net.Serialization.iCalendar.Serializers.CalendarSerializer(); var serializedCalendar = serializer.SerializeToString(ical); var lines = serializedCalendar.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries).ToList(); var result = lines.First(s => s.StartsWith("DTSTAMP")); Assert.AreEqual($"DTSTAMP:{evt.DtStamp.Year}{evt.DtStamp.Month:00}{evt.DtStamp.Day:00}T{evt.DtStamp.Hour:00}{evt.DtStamp.Minute:00}{evt.DtStamp.Second:00}Z", result); }
public void TZIDPropertyMustNotBeAppliedToUtcDateTime() { var ical = new Ical.Net.Calendar(); var evt = new Ical.Net.CalendarEvent(); evt.DtStamp = new CalDateTime(new DateTime(2016, 8, 17, 2, 30, 0, DateTimeKind.Utc)); ical.Events.Add(evt); var serializer = new Ical.Net.Serialization.iCalendar.Serializers.CalendarSerializer(); var serializedCalendar = serializer.SerializeToString(ical); var lines = serializedCalendar.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries).ToList(); var result = lines.First(s => s.StartsWith("DTSTAMP")); Assert.AreEqual("DTSTAMP:20160817T023000Z", result); }