예제 #1
0
 public bool SetMetadata(SNC.Content content, string currentDirectory, bool isNewContent, bool needToValidate, bool updateReferences)
 {
     if (_xmlDoc == null)
         return true;
     _transferringContext = new ImportContext(
         _xmlDoc.SelectNodes("/ContentMetaData/Fields/*"), currentDirectory, isNewContent, needToValidate, updateReferences);
     bool result = content.ImportFieldData(_transferringContext);
     _contentId = content.ContentHandler.Id;
     return result;
 }
예제 #2
0
        internal bool UpdateReferences(SNC.Content content, bool needToValidate)
        {
            if (_transferringContext == null)
                _transferringContext = new ImportContext(_xmlDoc.SelectNodes("/ContentMetaData/Fields/*"), null, false, needToValidate, true);
            else
                _transferringContext.UpdateReferences = true;

            var node = content.ContentHandler;
            node.NodeModificationDate = node.NodeModificationDate;
            node.ModificationDate = node.ModificationDate;
            node.NodeModifiedBy = node.NodeModifiedBy;
            node.ModifiedBy = node.ModifiedBy;

            if (!content.ImportFieldData(_transferringContext))
                return false;
            if (!HasPermissions && !HasBreakPermissions)
                return true;
            var permissionsNode = _xmlDoc.SelectSingleNode("/ContentMetaData/Permissions");
            content.ContentHandler.Security.ImportPermissions(permissionsNode, this._metaDataPath);

            return true;
        }
예제 #3
0
		private static bool SetMetadata(SnC.Content snContent, Content content, bool isNewContent, bool updateReferences)
		{
			XmlDocument xml = new XmlDocument();
			xml.LoadXml(content.Data);
			var context = new ImportContext(xml.SelectNodes("/ContentMetaData/Fields/*"), null, isNewContent, true, updateReferences);
			bool result = snContent.ImportFieldData(context);
			var contentId = snContent.ContentHandler.Id;
			content.HasReference = context.HasReference;
			return result;
		}