public static void Serialize(System.IO.Stream stream, Event e, System.Text.Encoding encoding = null) { var ical = new global::Kalendar.Zero.ApiTerminal.CalDav.Calendar(); ical.Events.Add(e); Serialize(stream, ical, encoding); }
public void Save(Event e) { if (string.IsNullOrEmpty(e.UID)) { e.UID = Guid.NewGuid().ToString(); } e.LastModified = DateTime.UtcNow; var result = global::Kalendar.Zero.ApiTerminal.CalDav.Client.Common.Request(new Uri(Url, e.UID + ".ics"), "PUT", (req, str) => { req.Headers[System.Net.HttpRequestHeader.IfNoneMatch] = "*"; req.ContentType = "text/calendar"; var calendar = new global::Kalendar.Zero.ApiTerminal.CalDav.Calendar(); e.Sequence = (e.Sequence ?? 0) + 1; calendar.Events.Add(e); global::Kalendar.Zero.ApiTerminal.CalDav.Client.Common.Serialize(str, calendar); }, Credentials); if (result.Item1 != System.Net.HttpStatusCode.Created && result.Item1 != HttpStatusCode.NoContent) { throw new Exception("Unable to save event: " + result.Item1); } e.Url = new Uri(Url, result.Item3[System.Net.HttpResponseHeader.Location]); GetObject(e.UID); }
public static void Serialize(System.IO.Stream stream, global::Kalendar.Zero.ApiTerminal.CalDav.Calendar ical, System.Text.Encoding encoding = null) { var serializer = new global::Kalendar.Zero.ApiTerminal.CalDav.Serializer(); serializer.Serialize(stream, ical, encoding); }