Ejemplo n.º 1
0
        internal void LoadFromXml(
            Project project,
            XmlNode parentNode)
        {
            lock (_fileInfos)
            {
                _fileInfos.Clear();

                var fileNodes = parentNode.SelectNodes(@"file");

                if (fileNodes != null)
                {
                    foreach (XmlNode fileNode in fileNodes)
                    {
                        var ffi = new FileInformation(this);

                        if (ffi.LoadFromXml(project, fileNode))
                        {
                            Add(ffi);
                        }
                    }
                }

                // --

                if (parentNode.Attributes != null)
                {
                    XmlHelper.ReadAttribute(
                        out _uniqueID,
                        parentNode.Attributes[@"uniqueID"]);
                }

                if (_uniqueID == Guid.Empty)
                {
                    _uniqueID = Guid.NewGuid();
                }

                // --

                if (parentNode.Attributes != null)
                {
                    XmlHelper.ReadAttribute(
                        out _projectFolderUniqueID,
                        parentNode.Attributes[@"projectFolderUniqueID"]);

                    XmlHelper.ReadAttribute(
                        out _name,
                        parentNode.Attributes[@"name"]);

                    XmlHelper.ReadAttribute(
                        out _orderPosition,
                        parentNode.Attributes[@"orderPosition"]);

                    XmlHelper.ReadAttribute(
                        out _ignoreDuringExportAndImport,
                        parentNode.Attributes[@"ignoreDuringExportAndImport"]);
                }

                var remarksNode = parentNode.SelectSingleNode(@"remarks");
                Remarks = remarksNode?.InnerText;

                // --

                _fileInfos.Sort();
            }
        }