public void Serialize(System.IO.TextWriter wrtr) { if (Count == 0) { return; } wrtr.BeginBlock("VTIMEZONE"); if (!String.IsNullOrEmpty(TzId)) { wrtr.Property("TZID", TzId); } if (!String.IsNullOrEmpty(TzUrl)) { wrtr.Property("TZURL", TzUrl); } if (!String.IsNullOrEmpty(XLicLocation)) { wrtr.Property("X-LIC-LOCATION", XLicLocation); } foreach (var detail in this) { detail.Calendar = Calendar; detail.Serialize(wrtr); } wrtr.EndBlock("VTIMEZONE"); }
public void Serialize(System.IO.TextWriter wrtr) { wrtr.BeginBlock("VALARM"); wrtr.Property("ACTION", Action); wrtr.Property("DESCRIPTION", Description); wrtr.Property("TRIGGER", Trigger); wrtr.EndBlock("VALARM"); }
public void Serialize(System.IO.TextWriter wrtr) { wrtr.BeginBlock("VJOURNAL"); wrtr.Property("ORGANIZER", Organizer); wrtr.Property("CLASS", Class); wrtr.Property("UID", UID); wrtr.Property("SEQUENCE", Sequence); wrtr.Property("LAST-MODIFIED", LastModified); wrtr.EndBlock("VJOURNAL"); }
internal static void Property(this System.IO.TextWriter wrtr, string name, Enum value) { if (value == null) { return; } wrtr.Property(name, value.ToString().ToUpper()); }
internal static void Property(this System.IO.TextWriter wrtr, string name, object value) { if (value == null) { return; } wrtr.Property(name, Convert.ToString(value), parameters: value is IHasParameters ? ((IHasParameters)value).GetParameters() : null); }
internal static void Property(this System.IO.TextWriter wrtr, string name, DateTime?value) { if (value == null || value < System.Data.SqlTypes.SqlDateTime.MinValue.Value || value > System.Data.SqlTypes.SqlDateTime.MaxValue.Value) { return; } wrtr.Property(name, FormatDate(value.Value)); }
public virtual void Serialize(System.IO.TextWriter wrtr) { wrtr.BeginBlock("VCALENDAR"); wrtr.Property("VERSION", Version ?? "2.0"); wrtr.Property("PRODID", Common.PRODID); wrtr.Property("CALSCALE", Scale); if (Properties != null) { foreach (var prop in Properties) { wrtr.Property(prop.Item1, prop.Item2, parameters: prop.Item3); } } foreach (var tz in TimeZones) { tz.Calendar = this; tz.Serialize(wrtr); } foreach (var e in Events) { e.Calendar = this; e.Serialize(wrtr); } foreach (var td in ToDos) { td.Calendar = this; td.Serialize(wrtr); } foreach (var fb in FreeBusy) { fb.Calendar = this; fb.Serialize(wrtr); } foreach (var jn in JournalEntries) { jn.Calendar = this; jn.Serialize(wrtr); } wrtr.EndBlock("VCALENDAR"); }
public void Serialize(System.IO.TextWriter wrtr) { wrtr.BeginBlock("VFREEBUSY"); wrtr.Property("ORGANIZER", Organizer); wrtr.Property("UID", UID); wrtr.Property("SEQUENCE", Sequence); wrtr.Property("LAST-MODIFIED", LastModified); wrtr.Property("DTSTART", Start); wrtr.Property("DTEND", End); wrtr.Property("Url", Url); foreach (var detail in Details) { wrtr.Property("FREEBUSY", (detail.From == null ? null : Common.FormatDate(detail.From.Value)) + "/" + (detail.To == null ? null : Common.FormatDate(detail.To.Value)) ); } wrtr.EndBlock("VFREEBUSY"); }
public void Serialize(System.IO.TextWriter wrtr) { wrtr.BeginBlock(Type.ToUpper()); wrtr.Property("TZID", ID); wrtr.Property("TZNAME", Name); wrtr.Property("DTSTART", Start); if (Recurrences != null) { foreach (var rule in Recurrences) { wrtr.Property("RRULE", rule); } } if (OffsetFrom != null) { wrtr.Property("TZOFFSETFROM", OffsetFrom.Value.FormatOffset()); } if (OffsetFrom != null) { wrtr.Property("TZOFFSETTO", OffsetTo.Value.FormatOffset()); } wrtr.EndBlock(Type.ToUpper()); }
public void Serialize(System.IO.TextWriter wrtr) { if (End != null && Start != null && End < Start) { End = Start; } wrtr.BeginBlock("VEVENT"); wrtr.Property("UID", UID); if (Attendees != null) { foreach (var attendee in Attendees) { wrtr.Property("ATTENDEE", attendee); } } if (Categories != null && Categories.Count > 0) { wrtr.Property("CATEGORIES", Categories); } wrtr.Property("CLASS", Class); wrtr.Property("CREATED", Created); wrtr.Property("DESCRIPTION", Description); wrtr.Property("DTEND", IsAllDay ? (End ?? Start.Value).Date : End); wrtr.Property("DTSTAMP", DTSTAMP); wrtr.Property("DTSTART", IsAllDay ? (Start ?? End.Value).Date : Start); wrtr.Property("LAST-MODIFIED", LastModified); wrtr.Property("LOCATION", Location); wrtr.Property("ORGANIZER", Organizer); wrtr.Property("PRIORITY", Priority); wrtr.Property("SEQUENCE", Sequence); wrtr.Property("STATUS", Status); wrtr.Property("SUMMARY", Summary); wrtr.Property("TRANSP", Transparency); wrtr.Property("URL", Url); if (Properties != null) { foreach (var prop in Properties) { wrtr.Property(prop.Item1, prop.Item2, parameters: prop.Item3); } } if (Alarms != null) { foreach (var alarm in Alarms) { alarm.Serialize(wrtr); } } wrtr.EndBlock("VEVENT"); }
internal static void Property(this System.IO.TextWriter wrtr, string name, IEnumerable <string> value) { wrtr.Property(name, string.Join(",", value.Select(PropertyEncode)), true); }
public void Serialize(System.IO.TextWriter wrtr) { wrtr.BeginBlock("VTODO"); wrtr.Property("UID", UID); wrtr.Property("DTSTAMP", DTSTAMP); wrtr.Property("DTSTART", Start); wrtr.Property("DUE", Due); wrtr.Property("SUMMARY", Summary); wrtr.Property("CLASS", Class); wrtr.Property("CATEGORIES", Categories); wrtr.Property("PRIORITY", Priority); wrtr.Property("STATUS", Status); wrtr.Property("SEQUENCE", Sequence); wrtr.Property("LAST-MODIFIED", LastModified); if (Properties != null) { foreach (var prop in Properties) { wrtr.Property(prop.Item1, prop.Item2, parameters: prop.Item3); } } wrtr.EndBlock("VTODO"); }
public void Serialize(System.IO.TextWriter wrtr) { if (End != null && Start != null && End < Start) { End = Start; } wrtr.BeginBlock("VEVENT"); wrtr.Property("UID", UID); if (Attendees != null) { foreach (var attendee in Attendees) { wrtr.Property("ATTENDEE", attendee); } } if (Categories != null && Categories.Count > 0) { wrtr.Property("CATEGORIES", Categories); } wrtr.Property("CLASS", Class); wrtr.Property("CREATED", Created); wrtr.Property("DESCRIPTION", Description); NameValueCollection startParameter = new NameValueCollection(); NameValueCollection endParameter = new NameValueCollection(); if (!String.IsNullOrEmpty(StartTzid)) { startParameter.Add("TZID", StartTzid); } if (!String.IsNullOrEmpty(EndTzid)) { endParameter.Add("TZID", EndTzid); } if (!IsAllDayEvent) { wrtr.Property("DTSTART", Start, parameters: startParameter); wrtr.Property("DTEND", End, parameters: endParameter); } else { wrtr.Property("DTSTART", Start.Value.ToString("yyyyMMdd"), parameters: startParameter); wrtr.Property("DTEND", End.Value.ToString("yyyyMMdd"), parameters: endParameter); } wrtr.Property("DTSTAMP", DTSTAMP); wrtr.Property("LAST-MODIFIED", LastModified); wrtr.Property("LOCATION", Location); wrtr.Property("ORGANIZER", Organizer); wrtr.Property("PRIORITY", Priority); wrtr.Property("SEQUENCE", Sequence); wrtr.Property("STATUS", Status); wrtr.Property("SUMMARY", Summary); if (Recurrences.Any()) { foreach (var recurrence in Recurrences) { wrtr.Property("RRULE", recurrence.ToString(), encoded: true); } } if (ExDates.Any()) { if (!IsAllDayEvent) { foreach (var exdate in ExDates) { wrtr.Property("EXDATE", exdate); } } else { foreach (var exdate in ExDates) { //allday NameValueCollection extDateParam = new NameValueCollection(); extDateParam.Add("VALUE", "DATE"); wrtr.Property("EXDATE", exdate.ToString("yyyyMMdd"), parameters: extDateParam); } } } wrtr.Property("TRANSP", Transparency); wrtr.Property("URL", Url); if (Properties != null) { foreach (var prop in Properties) { wrtr.Property(prop.Item1, prop.Item2, parameters: prop.Item3); } } if (Alarms != null) { foreach (var alarm in Alarms) { alarm.Serialize(wrtr); } } wrtr.EndBlock("VEVENT"); }