public XElement Serialize()
{
XElement root = new XElement(XmlRootElementName);
root.Add(new XElement("name", Name));
if (CreatedBy != null)
{
XElement created = new XElement("created");
created.Add(new XAttribute("by", CreatedBy.Name));
created.Add(new XAttribute("on", CreatedDate.ToCompactString()));
root.Add(created);
}
if (EditedBy != null)
{
XElement edited = new XElement("edited");
edited.Add(new XAttribute("by", EditedBy.Name));
edited.Add(new XAttribute("on", EditedDate.ToCompactString()));
root.Add(edited);
}
root.Add(Bounds.Serialize());
root.Add(Controller.Serialize());
return(root);
}