/// <inheritdoc/> public void WriteIcs(IcsWriter ics) { Guard.IsNotNull(ics, "ics"); ics.WriteBeginComponent(Component.Names.Event); ics.WriteContent("organizer", Organizer); ics.WriteContent(Attendees); ics.WriteContent("class", Classification.Name); ics.WriteContent("comment", Comment); ics.WriteContent("created", CreatedOn); ics.WriteContent("dtstamp", CreatedOnByAgent); ics.WriteContent("description", Description); ics.WriteContent("duration", Duration); ics.WriteContent("dtend", EndsOn); ics.WriteContent("geo", GlobalPosition); ics.WriteContent("uid", Id); if (IsTransparent) ics.WriteContent("transp", "TRANSPARENT"); ics.WriteContent("location", Location); ics.WriteContent("last-modified", ModifiedOn); ics.WriteContent("exdate", ExcludedDates); ics.WriteContent(RecurrenceRule); if (Revision > 0) ics.WriteContent("sequence", Revision); ics.WriteContent("recurrence-id", RecurrenceId); ics.WriteContent("dtstart", StartsOn); ics.WriteContent("summary", Summary); if (Status != null) ics.WriteContent("status", Status.Name); ics.WriteContent("url", Uri); ics.WriteContent("categories", Categories == null ? null : Categories.Select(c => c.Name)); ics.WriteContent(RequestStatuses); ics.WriteContent(Contacts); ics.WriteContent("resources", Resources); ics.WriteContent("rdate", RecurrenceDates); ics.WriteContent(Attachments); ics.WriteContent(Relationships); ics.WriteContent(Alarm); if (Priority != 0) ics.WriteContent("priority", Priority); ics.WriteEndComponent(); }
/// <inheritdoc/> public void WriteIcs(IcsWriter ics) { Guard.IsNotNull(ics, "ics"); ics.WriteBeginComponent(Component.Names.FreeBusy); ics.WriteContent("organizer", Organizer); ics.WriteContent("comment", Comment); ics.WriteContent("dtstamp", CreatedOnByAgent); ics.WriteContent("dtend", EndsOn); ics.WriteContent("uid", Id); ics.WriteContent("dtstart", StartsOn); ics.WriteContent("url", Uri); ics.WriteContent(Attendees); ics.WriteContent(RequestStatuses); ics.WriteContent(Contact); ics.WriteContent(FreeBusyTimes); ics.WriteEndComponent(); }
/// <inheritdoc/> public void WriteIcs(IcsWriter ics) { Guard.IsNotNull(ics, "ics"); ics.WriteBeginComponent(Component.Names.Card); // Properties ics.WriteContent("version", Version); ics.WriteContent("prodid", ProductId); ics.WriteContent("kind", Kind); foreach (var source in Sources) { ics.Write(source.ToContentLine(new ContentLine { Name = "source" })); } foreach (var fn in FormattedNames) { ics.Write(fn.ToContentLine(new ContentLine { Name = "fn" })); } ics.WriteContent("gender", Gender); if (BirthDate != null) ics.Write(BirthDate.ToContentLine(new ContentLine { Name = "bday" })); foreach (var name in Names) { ics.Write(name.ToContentLine(new ContentLine { Name = "n" })); } foreach (var nickname in NickNames) { ics.Write(nickname.ToContentLine(new ContentLine { Name = "nickname" })); } foreach (var note in Notes) { ics.Write(note.ToContentLine(new ContentLine { Name = "note" })); } foreach (var email in Emails) { ics.Write(email.ToContentLine(new ContentLine { Name = "email" })); } foreach (var tel in Telephones) { ics.Write(tel.ToContentLine(new ContentLine { Name = "tel" })); } foreach (var lang in Languages) { ics.Write(lang.ToContentLine(new ContentLine { Name = "lang" })); } foreach (var tz in Timezones) { ics.Write(tz.ToContentLine(new ContentLine { Name = "tz" })); } foreach (var geo in GeographicPositions) { ics.Write(geo.ToContentLine(new ContentLine { Name = "geo" })); } foreach (var address in Addresses) { ics.Write(address.ToContentLine(new ContentLine { Name = "adr" })); } foreach (var url in Urls) { ics.Write(url.ToContentLine(new ContentLine { Name = "url" })); } foreach (var category in Categories) { ics.Write(category.ToContentLine(new ContentLine { Name = "categories" })); } foreach (var photo in Photos) { ics.Write(photo.ToContentLine(new ContentLine { Name = "photo" })); } ics.WriteEndComponent(); }
/// <inheritdoc/> public void WriteIcs(IcsWriter ics) { Guard.IsNotNull(ics, "ics"); ics.WriteBeginComponent(Component.Names.Calendar); // Properties ics.WriteContent("calscale", Scale); ics.WriteContent("method", Method); ics.WriteContent("prodid", ProductId); ics.WriteContent("version", Version); // Components foreach (var component in Components) { component.WriteIcs(ics); } ics.WriteEndComponent(); }
/// <inheritdoc/> public void WriteIcs(IcsWriter ics) { Guard.IsNotNull(ics, "ics"); ics.WriteBeginComponent(Component.Names.TimeZone); ics.WriteContent("last-modified", ModifiedOn); ics.WriteContent("tzid", Id); ics.WriteContent("url", Uri); foreach (var adjustment in Adjustments) { adjustment.WriteIcs(ics); } ics.WriteEndComponent(); }
/// <inheritdoc/> public void WriteIcs(IcsWriter ics) { Guard.IsNotNull(ics, "ics"); ics.WriteBeginComponent(ComponentName); ics.WriteContent("tzname", Name); ics.WriteContent("dtstart", StartsOn); ics.WriteContentAsUtcOffset("tzoffsetfrom", OffsetFrom); ics.WriteContentAsUtcOffset("tzoffsetto", OffsetTo); ics.WriteContent("comment", Comment); ics.WriteContent("rdate", RecurrenceDates); ics.WriteContent(RecurrenceRule); ics.WriteEndComponent(); }
/// <inheritdoc/> public void WriteIcs(IcsWriter ics) { Guard.IsNotNull(ics, "ics"); ics.WriteBeginComponent(Component.Names.Journal); ics.WriteContent("organizer", Organizer); ics.WriteContent(Attendees); ics.WriteContent("class", Classification.Name); ics.WriteContent("comment", Comment); ics.WriteContent("created", CreatedOn); ics.WriteContent("dtstamp", CreatedOnByAgent); ics.WriteContent("description", Description); ics.WriteContent("uid", Id); ics.WriteContent("last-modified", ModifiedOn); ics.WriteContent("exdate", ExcludedDates); ics.WriteContent(RecurrenceRule); if (Revision > 0) ics.WriteContent("sequence", Revision); ics.WriteContent("recurrence-id", RecurrenceId); ics.WriteContent("dtstart", StartsOn); ics.WriteContent("summary", Summary); if (Status != null) ics.WriteContent("status", Status.Name); ics.WriteContent("url", Uri); if (Categories.Count > 0) ics.WriteContent("categories", Categories.Select(c => c.Name)); ics.WriteContent(RequestStatuses); ics.WriteContent(Contacts); ics.WriteContent("rdate", RecurrenceDates); ics.WriteContent(Attachments); ics.WriteContent(Relationships); ics.WriteEndComponent(); }
/// <inheritdoc/> public void WriteIcs(IcsWriter ics) { Guard.IsNotNull(ics, "ics"); ics.WriteBeginComponent(Component.Names.Alarm); ics.WriteContent(Attendees); ics.WriteContent("action", Action.Name); var trigger = new ContentLine { Name = "trigger" }; if (TriggerOn.HasValue) { trigger.Parameters["value"] = "DATE-TIME"; trigger.Value = IcsWriter.IsoFormat(TriggerOn.Value); } else if (TriggerDuration.HasValue) { if (TriggerEdge == TriggerEdge.End) trigger.Parameters["related"] = "END"; trigger.Value = XmlConvert.ToString(TriggerDuration.Value); } ics.Write(trigger); ics.WriteContent("description", Description); ics.WriteContent("summary", Summary); ics.WriteContent("duration", Duration); ics.WriteContent(Attachment); if (Repeat > 0) ics.WriteContent("repeat", Repeat); ics.WriteEndComponent(); }