public void Serialize(System.IO.TextWriter wrtr) { wrtr.BeginBlock("VALARM"); wrtr.Property("ACTION", Action); wrtr.Property("DESCRIPTION", Description); wrtr.Property("TRIGGER", Trigger); wrtr.EndBlock("VALARM"); }
public void Serialize(System.IO.TextWriter wrtr) { wrtr.BeginBlock("VJOURNAL"); wrtr.Property("ORGANIZER", Organizer); wrtr.Property("CLASS", Class); wrtr.Property("UID", UID); wrtr.Property("SEQUENCE", Sequence); wrtr.Property("LAST-MODIFIED", LastModified); wrtr.EndBlock("VJOURNAL"); }
public void Deserialize(System.IO.TextReader rdr, Serializer serializer) { string name, value, rigthPart; var parameters = new System.Collections.Specialized.NameValueCollection(); while (rdr.Property(out name, out value, out rigthPart, 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 "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 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 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 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; } } }
public void Serialize(System.IO.TextWriter wrtr) { wrtr.BeginBlock("VFREEBUSY"); wrtr.Property("ORGANIZER", Organizer); wrtr.Property("UID", UID); wrtr.Property("SEQUENCE", Sequence); wrtr.Property("LAST-MODIFIED", LastModified); wrtr.Property("DTSTART", Start); wrtr.Property("DTEND", End); wrtr.Property("Url", Url); foreach (var detail in Details) { wrtr.Property("FREEBUSY", (detail.From == null ? null : Common.FormatDate(detail.From.Value)) + "/" + (detail.To == null ? null : Common.FormatDate(detail.To.Value)) ); } wrtr.EndBlock("VFREEBUSY"); }
public ChangeEntry(System.Data.Entity.Infrastructure.DbEntityEntry f) { Entity = f.Entity; State = f.State; EntityType = Entity.GetType().GetEntityType(); OriginalValues = new Dictionary<string, object>(); if (State != EntityState.Modified) return; var d = OriginalValues; foreach (var item in f.OriginalValues.PropertyNames) { var fp = f.Property(item); if (!fp.IsModified) continue; d[item] = fp.OriginalValue; } }
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 virtual void Serialize(System.IO.TextWriter wrtr) { wrtr.BeginBlock("VCALENDAR"); wrtr.Property("VERSION", Version ?? "2.0"); wrtr.Property("PRODID", Common.PRODID); wrtr.Property("CALSCALE", Scale); if (Properties != null) foreach (var prop in Properties) wrtr.Property(prop.Item1, prop.Item2, parameters: prop.Item3); foreach (var tz in TimeZones) { tz.Calendar = this; tz.Serialize(wrtr); } foreach (var e in Events) { e.Calendar = this; e.Serialize(wrtr); } foreach (var td in ToDos) { td.Calendar = this; td.Serialize(wrtr); } foreach (var fb in FreeBusy) { fb.Calendar = this; fb.Serialize(wrtr); } foreach (var jn in JournalEntries) { jn.Calendar = this; jn.Serialize(wrtr); } wrtr.EndBlock("VCALENDAR"); }
public void Serialize(System.IO.TextWriter wrtr) { if (End != null && Start != null && End < Start) End = Start; wrtr.BeginBlock("VEVENT"); wrtr.Property("UID", UID); if (Attendees != null) foreach (var attendee in Attendees) wrtr.Property("ATTENDEE", attendee); if (Categories != null && Categories.Count > 0) wrtr.Property("CATEGORIES", Categories); wrtr.Property("CLASS", Class); wrtr.Property("CREATED", Created); wrtr.Property("DESCRIPTION", Description); NameValueCollection startParameter = new NameValueCollection(); NameValueCollection endParameter = new NameValueCollection(); if (!String.IsNullOrEmpty(StartTzid)) startParameter.Add("TZID", StartTzid); if (!String.IsNullOrEmpty(EndTzid)) endParameter.Add("TZID", EndTzid); if (!IsAllDayEvent) { wrtr.Property("DTSTART", Start, parameters : startParameter); wrtr.Property("DTEND", End, parameters: endParameter); } else { wrtr.Property("DTSTART", Start.Value.ToString("yyyyMMdd"), parameters: startParameter); wrtr.Property("DTEND", End.Value.ToString("yyyyMMdd"), parameters: endParameter); } wrtr.Property("DTSTAMP", DTSTAMP); wrtr.Property("LAST-MODIFIED", LastModified); wrtr.Property("LOCATION", Location); wrtr.Property("ORGANIZER", Organizer); wrtr.Property("PRIORITY", Priority); wrtr.Property("SEQUENCE", Sequence); wrtr.Property("STATUS", Status); wrtr.Property("SUMMARY", Summary); if (Recurrences.Any()) foreach (var recurrence in Recurrences) { wrtr.Property("RRULE", recurrence.ToString(), encoded : true); } if (ExDates.Any()) { if (!IsAllDayEvent) { foreach (var exdate in ExDates) { wrtr.Property("EXDATE", exdate); } } else { foreach (var exdate in ExDates) { //allday NameValueCollection extDateParam = new NameValueCollection(); extDateParam.Add("VALUE", "DATE"); wrtr.Property("EXDATE", exdate.ToString("yyyyMMdd"), parameters: extDateParam); } } } wrtr.Property("TRANSP", Transparency); wrtr.Property("URL", Url); if (Properties != null) foreach (var prop in Properties) wrtr.Property(prop.Item1, prop.Item2, parameters: prop.Item3); if (Alarms != null) foreach (var alarm in Alarms) alarm.Serialize(wrtr); wrtr.EndBlock("VEVENT"); }
public void TestPropertyAccessor() { var it = new { Property = "pwic" }; Assert.AreEqual("pwic", it.Property("Property")); }
public void Serialize(System.IO.TextWriter wrtr) { if (End != null && Start != null && End < Start) End = Start; wrtr.BeginBlock("VEVENT"); wrtr.Property("UID", UID); if (Attendees != null) foreach (var attendee in Attendees) wrtr.Property("ATTENDEE", attendee); if (Categories != null && Categories.Count > 0) wrtr.Property("CATEGORIES", Categories); wrtr.Property("CLASS", Class); wrtr.Property("CREATED", Created); wrtr.Property("DESCRIPTION", Description); wrtr.Property("DTEND", IsAllDay ? (End ?? Start.Value).Date : End); wrtr.Property("DTSTAMP", DTSTAMP); wrtr.Property("DTSTART", IsAllDay ? (Start ?? End.Value).Date : Start); wrtr.Property("LAST-MODIFIED", LastModified); wrtr.Property("LOCATION", Location); wrtr.Property("ORGANIZER", Organizer); wrtr.Property("PRIORITY", Priority); wrtr.Property("SEQUENCE", Sequence); wrtr.Property("STATUS", Status); wrtr.Property("SUMMARY", Summary); wrtr.Property("TRANSP", Transparency); wrtr.Property("URL", Url); if (Properties != null) foreach (var prop in Properties) wrtr.Property(prop.Item1, prop.Item2, parameters: prop.Item3); if (Alarms != null) foreach (var alarm in Alarms) alarm.Serialize(wrtr); wrtr.EndBlock("VEVENT"); }
public void Serialize(System.IO.TextWriter wrtr) { wrtr.BeginBlock("VTODO"); wrtr.Property("UID", UID); wrtr.Property("DTSTAMP", DTSTAMP); wrtr.Property("DTSTART", Start); wrtr.Property("DUE", Due); wrtr.Property("SUMMARY", Summary); wrtr.Property("CLASS", Class); wrtr.Property("CATEGORIES", Categories); wrtr.Property("PRIORITY", Priority); wrtr.Property("STATUS", Status); wrtr.Property("SEQUENCE", Sequence); wrtr.Property("LAST-MODIFIED", LastModified); if (Properties != null) foreach (var prop in Properties) wrtr.Property(prop.Item1, prop.Item2, parameters: prop.Item3); wrtr.EndBlock("VTODO"); }