public void Deserialize(System.IO.TextReader rdr, Serializer serializer) { string name, value; var parameters = new System.Collections.Specialized.NameValueCollection(); while (rdr.Property(out name, out value, parameters) && !string.IsNullOrEmpty(name)) { switch (name) { case "BEGIN": var detail = serializer.GetService <TimeZoneDetail>(); detail.Type = value; detail.Calendar = Calendar; detail.Deserialize(rdr, serializer); Add(detail); break; case "END": if (value == "VTIMEZONE") { return; } break; } } }
public void Deserialize(System.IO.TextReader rdr, Serializer serializer) { string name, value; var parameters = new System.Collections.Specialized.NameValueCollection(); while (rdr.Property(out name, out value, parameters) && !string.IsNullOrEmpty(name)) { switch (name.ToUpper()) { case "TZID": ID = value; break; case "TZNAME": Name = value; break; case "DTSTART": Start = value.ToDateTime(); break; case "RRULE": var rule = serializer.GetService <Recurrence>(); rule.Deserialize(value, parameters); Recurrences.Add(rule); break; case "TZOFFSETFROM": OffsetFrom = value.ToOffset(); break; case "TZOFFSETTO": OffsetTo = value.ToOffset(); break; case "END": return; } } }
public void Deserialize(System.IO.TextReader rdr, Serializer serializer) { string name, value; var parameters = new System.Collections.Specialized.NameValueCollection(); while (rdr.Property(out name, out value, parameters) && !string.IsNullOrEmpty(name)) { switch (name) { case "ACTION": Action = value; break; case "DESCRIPTION": Description = value; break; case "TRIGGER": Trigger = serializer.GetService <Trigger>(); Trigger.Deserialize(value, parameters); break; } } }
public void Deserialize(System.IO.TextReader rdr, Serializer serializer) { string name, value; var parameters = new System.Collections.Specialized.NameValueCollection(); while (rdr.Property(out name, out value, parameters) && !string.IsNullOrEmpty(name)) { switch (name.ToUpper()) { case "UID": UID = value; break; case "ORGANIZER": Organizer = new Contact(); Organizer.Deserialize(value, parameters); break; case "SEQUENCE": Sequence = value.ToInt(); break; case "LAST-MODIFIED": LastModified = value.ToDateTime(); break; case "DTSTART": LastModified = value.ToDateTime(); break; case "DTEND": LastModified = value.ToDateTime(); break; case "DTSTAMP": DTSTAMP = value.ToDateTime(); break; case "FREEBUSY": var parts = value.Split('/'); Details.Add(new DateTimeRange { From = parts.FirstOrDefault().ToDateTime(), To = parts.ElementAtOrDefault(1).ToDateTime() }); break; case "END": return; default: Properties.Add(Tuple.Create(name, value, parameters)); break; } } }
public void Deserialize(System.IO.TextReader rdr, Serializer serializer) { string name, value; var parameters = new XNameValueCollection(); while (rdr.Property(out name, out value, parameters) && !string.IsNullOrEmpty(name)) { switch (name.ToUpper()) { case "BEGIN": if (value == "VCALENDAR") { var e = serializer.GetService <Calendar>(); e.Deserialize(rdr, serializer); this.Add(e); } break; } } }
public void Deserialize(System.IO.TextReader rdr, Serializer serializer) { string name, value; var parameters = new System.Collections.Specialized.NameValueCollection(); while (rdr.Property(out name, out value, parameters) && !string.IsNullOrEmpty(name)) { switch (name.ToUpper()) { case "UID": UID = value; break; case "DTSTAMP": DTSTAMP = value.ToDateTime(); break; case "DTSTART": Start = value.ToDateTime(); break; case "DUE": Due = value.ToDateTime(); break; case "SUMMARY": Summary = value; break; case "CLASS": Class = value.ToEnum <Classes>(); break; case "CATEGORIES": Categories = value.SplitEscaped().ToList(); break; case "PRIORITY": Priority = value.ToInt(); break; case "STATUS": Status = value.ToEnum <Statuses>(); break; case "LAST-MODIFIED": LastModified = value.ToDateTime(); break; case "COMPLETED": Completed = value.ToDateTime(); break; case "SEQUENCE": Sequence = value.ToInt(); break; case "END": return; default: Properties.Add(Tuple.Create(name, value, parameters)); break; } } }
public void Deserialize(System.IO.TextReader rdr, Serializer serializer) { string name, value; var parameters = new System.Collections.Specialized.NameValueCollection(); while (rdr.Property(out name, out value, parameters) && !string.IsNullOrEmpty(name)) { switch (name.ToUpper()) { case "CLASS": Class = value.ToEnum <Classes>(); break; case "STATUS": Status = value.ToEnum <Statuses>(); break; case "UID": UID = value; break; case "ORGANIZER": Organizer = new Contact(); Organizer.Deserialize(value, parameters); break; case "CATEGORIES": Categories = value.SplitEscaped().ToList(); break; case "DESCRIPTION": Description = value; break; case "SEQUENCE": Sequence = value.ToInt(); break; case "LAST-MODIFIED": LastModified = value.ToDateTime(); break; case "DTSTAMP": _dtstamp = value.ToDateTime(); break; case "END": return; default: Properties.Add(Tuple.Create(name, value, parameters)); break; } } }
public void Deserialize(System.IO.TextReader rdr, Serializer serializer) { string name, value; var parameters = new System.Collections.Specialized.NameValueCollection(); while (rdr.Property(out name, out value, parameters) && !string.IsNullOrEmpty(name)) { switch (name.ToUpper()) { case "BEGIN": switch (value) { case "VALARM": var a = serializer.GetService <Alarm>(); a.Deserialize(rdr, serializer); Alarms.Add(a); break; } break; case "ATTENDEE": var contact = new Contact(); contact.Deserialize(value, parameters); Attendees.Add(contact); break; case "CATEGORIES": Categories = value.SplitEscaped().ToList(); break; case "CLASS": Class = value.ToEnum <Classes>(); break; case "CREATED": Created = value.ToDateTime(); break; case "DESCRIPTION": Description = value; break; case "DTEND": End = value.ToDateTime(); break; case "DTSTAMP": DTSTAMP = value.ToDateTime().GetValueOrDefault(); break; case "DTSTART": Start = value.ToDateTime(); break; case "LAST-MODIFIED": LastModified = value.ToDateTime(); break; case "LOCATION": Location = value; break; case "ORGANIZER": Organizer = serializer.GetService <Contact>(); Organizer.Deserialize(value, parameters); break; case "PRIORITY": Priority = value.ToInt(); break; case "SEQUENCE": Sequence = value.ToInt(); break; case "STATUS": Status = value.ToEnum <Statuses>(); break; case "SUMMARY": Summary = value; break; case "TRANSP": Transparency = value; break; case "UID": UID = value; break; case "URL": Url = value.ToUri(); break; case "ATTACH": var attach = value.ToUri(); if (attach != null) { Attachments.Add(attach); } break; case "RRULE": var rule = serializer.GetService <Recurrence>(); rule.Deserialize(null, parameters); Recurrences.Add(rule); break; case "END": return; default: Properties.Add(Tuple.Create(name, value, parameters)); break; } } IsAllDay = Start == End; }
public virtual void Deserialize(System.IO.TextReader rdr, Serializer serializer = null) { if (serializer == null) { serializer = new Serializer(); } string name, value; var parameters = new System.Collections.Specialized.NameValueCollection(); while (rdr.Property(out name, out value, parameters) && !string.IsNullOrEmpty(name)) { switch (name.ToUpper()) { case "BEGIN": switch (value) { case "VEVENT": var e = serializer.GetService <Event>(); e.Calendar = this; Events.Add(e); e.Deserialize(rdr, serializer); break; case "VTIMEZONE": var tz = serializer.GetService <TimeZone>(); tz.Calendar = this; TimeZones.Add(tz); tz.Deserialize(rdr, serializer); break; case "VTODO": var td = serializer.GetService <ToDo>(); td.Calendar = this; ToDos.Add(td); td.Deserialize(rdr, serializer); break; case "VFREEBUSY": var fb = serializer.GetService <FreeBusy>(); fb.Calendar = this; FreeBusy.Add(fb); fb.Deserialize(rdr, serializer); break; case "VJOURNAL": var jn = serializer.GetService <JournalEntry>(); jn.Calendar = this; JournalEntries.Add(jn); jn.Deserialize(rdr, serializer); break; } break; case "CALSCALE": Scale = value; break; case "VERSION": Version = value; break; case "PRODID": ProdID = value; break; case "END": if (value == "VCALENDAR") { return; } break; default: Properties.Add(Tuple.Create(name, value, parameters)); break; } } }