static private FromXml ( System.Xml.Linq.XElement element ) : |
||
element | System.Xml.Linq.XElement | |
return |
internal static Workspace FromXml(RepositoryService versionControl, XElement element) { string computer = element.Attribute("computer").Value; string name = element.Attribute("name").Value; string owner = element.Attribute("owner").Value; //bool isLocal = Convert.ToBoolean(element.Attribute("islocal").Value); string comment = element.Element(XmlNamespaces.GetMessageElementName("Comment")).Value; DateTime lastAccessDate = DateTime.Parse(element.Element(XmlNamespaces.GetMessageElementName("LastAccessDate")).Value); var folders = new List <WorkingFolder>(element.Element(XmlNamespaces.GetMessageElementName("Folders")) .Elements(XmlNamespaces.GetMessageElementName("WorkingFolder")) .Select(el => WorkingFolder.FromXml(el))); return(new Workspace(versionControl, name, owner, comment, folders, computer) { LastAccessDate = lastAccessDate }); }
internal static Workspace FromXml(Repository repository, XmlReader reader) { string elementName = reader.Name; string computer = reader.GetAttribute("computer"); string name = reader.GetAttribute("name"); string owner = reader.GetAttribute("owner"); string comment = ""; DateTime lastAccessDate = DateTime.Now; List <WorkingFolder> folders = new List <WorkingFolder>(); while (reader.Read()) { if (reader.NodeType == XmlNodeType.EndElement && reader.Name == elementName) { break; } if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case "WorkingFolder": folders.Add(WorkingFolder.FromXml(repository, reader)); break; case "Comment": comment = reader.ReadString(); break; case "LastAccessDate": lastAccessDate = reader.ReadElementContentAsDateTime(); break; } } } Workspace w = new Workspace(repository.VersionControlServer, name, owner, comment, folders.ToArray(), computer); w.lastAccessDate = lastAccessDate; return(w); }