コード例 #1
0
ファイル: Project.cs プロジェクト: mff-uk/exolutio
        public void Deserialize(XElement parentNode, SerializationContext context)
        {
            parentNode     = (XElement)context.Document.Element(context.ExolutioNS + "Project");
            UsesVersioning = SerializationContext.DecodeBool(parentNode.Attribute("UsesVersioning").Value);
            if (UsesVersioning)
            {
                VersionManager         = new VersionManager(this);
                VersionManager.Loading = true;
                this.DeserializeWrappedCollection("Versions", VersionManager.Versions, Version.CreateInstance, parentNode, context);
                this.DeserializeWrappedCollection("ProjectVersions", ProjectVersions, ProjectVersion.CreateInstance, parentNode, context);
                XElement versionLinksElement = parentNode.Element(context.ExolutioNS + "VersionLinks");
                if (versionLinksElement != null)
                {
                    VersionManager.DeserializeVersionLinks(versionLinksElement, context);
                }
                VersionManager.Loading = false;
            }
            else
            {
                ProjectVersion objSingleVersion = new ProjectVersion(this, Guid.Empty);
                objSingleVersion.DeserializeFromChildElement("SingleVersion", parentNode, context);
                SingleVersion = objSingleVersion;
            }

            //XAttribute nameAttribute = parentNode.Attribute("Name");
            //if (nameAttribute != null)
            //{
            //    this.Name = nameAttribute.Value;
            //}
        }