Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }