private T GetValue <T>(string name) { ChangeTrackedField field = null; fields.TryGetValue(name, out field); if (field == null || field.Value == null) { return(default(T)); } return((T)field.Value); }
internal XElement ToXml() { XElement e = new XElement("institution"); foreach (var field in this.fields) { ChangeTrackedField ctf = field.Value; XElement fx = new XElement(ctf.Name, ctf.Value); if (ctf.LastChange.HasValue) { // remember when it was last changed. fx.SetAttributeValue("changed", ctf.LastChange.Value); } e.Add(fx); } return(e); }
private void SetValue(string name, object value, DateTime?changed) { ChangeTrackedField field = null; fields.TryGetValue(name, out field); if (field == null) { field = new ChangeTrackedField() { Name = name }; fields[name] = field; } if (field.Value != value) { field.Value = value; field.LastChange = changed; } }