Example #1
0
        private static string ToString(ICalendarObject obj)
        {
            var calendar = new CalDav.Calendar();

            calendar.AddItem(obj);
            var serializer = new Serializer();

            using (var str = new System.IO.StringWriter()) {
                serializer.Serialize(str, calendar);
                return(str.ToString());
            }
        }
Example #2
0
        public void Save(ICalendarInfo calendar, ICalendarObject e)
        {
            var filename = System.IO.Path.Combine(_directory, calendar.ID, e.UID + ".ics");
            var ical     = new CalDav.Calendar();

            ical.AddItem(e);
            var serializer = new Serializer();

            using (var file = System.IO.File.Open(filename, System.IO.FileMode.Create))
            {
                serializer.Serialize(file, ical);
            }
        }
Example #3
0
        private static string ToString(CalendarObjectData obj)
        {
            var calendar = new CalDav.Calendar();

            calendar.AddItem(obj.Object);
            if (obj.TimeZones != null)
            {
                foreach (var tz in obj.TimeZones)
                {
                    calendar.TimeZones.Add(tz);
                }
            }
            var serializer = new Serializer();

            using (var str = new System.IO.StringWriter())
            {
                serializer.Serialize(str, calendar);
                return(str.ToString());
            }
        }
Example #4
0
		public void Save(ICalendarInfo calendar, ICalendarObject e) {
			var filename = System.IO.Path.Combine(_Directory, calendar.ID, e.UID + ".ics");
			var ical = new CalDav.Calendar();
			ical.AddItem(e);
			var serializer = new Serializer();
			using (var file = System.IO.File.Open(filename, System.IO.FileMode.Create))
				serializer.Serialize(file, ical);
		}
Example #5
0
        public void Save(ICalendarInfo calendar, ICalendarObject e, IEnumerable<TimeZone> timeZones)
        {
            var filename = System.IO.Path.Combine(_Directory, calendar.ID, e.UID + ".ics");
            var ical = new CalDav.Calendar();

            ical.AddItem(e);
            foreach (var timezone in timeZones)
            {
                ical.TimeZones.Add(timezone);
            }
            var serializer = new Serializer();
            using (var file = System.IO.File.Open(filename, System.IO.FileMode.Create))
                serializer.Serialize(file, ical);

            //update accordingly the _.ical file
            var calFileName = System.IO.Path.Combine(_Directory, calendar.ID + "\\_.ical");

            var globalIcal = LoadSerializedCalendarFromFileName(calendar.ID, calFileName);
            foreach (var item in ical.Items)
            {
                globalIcal.AddItem(item);
            }
            using (var file = System.IO.File.Open(calFileName, System.IO.FileMode.Open, System.IO.FileAccess.Write))
                serializer.Serialize(file, globalIcal);
        }