public abstract AddPropertyTypeToPropertySet ( |
||
propertyType | ||
owner | ||
isDeclared | bool | |
return | void |
private static void WriteAddOrRemovePropertyTypes(ContentListType origSet, ContentListType newSet, List <PropertySet> modifiedPropertySets, SchemaWriter writer) { bool origSetChanged = false; if (origSet == null) { // New NodeType: add all property foreach (PropertyType propType in newSet.PropertyTypes) { writer.AddPropertyTypeToPropertySet(propType, newSet, true); } return; } // Delete PropertyType if needed foreach (PropertyType propType in GetTypesToDelete <PropertyType>(origSet.PropertyTypes, newSet.PropertyTypes)) { writer.RemovePropertyTypeFromPropertySet(propType, newSet); origSetChanged = true; } // Create or modify PropertyTypes foreach (PropertyType propType in newSet.PropertyTypes) { if (NeedToCreate <PropertyType>(origSet.PropertyTypes, propType)) { writer.AddPropertyTypeToPropertySet(propType, newSet, true); origSetChanged = true; } } if (origSetChanged && !modifiedPropertySets.Contains(origSet)) { modifiedPropertySets.Add(origSet); } }
private static void WriteAddOrRemovePropertyTypes(NodeType origSet, NodeType newSet, List <PropertySet> modifiedPropertySets, SchemaWriter writer) { if (origSet == null) { // New NodeType: add all property foreach (PropertyType propType in newSet.PropertyTypes) { writer.AddPropertyTypeToPropertySet(propType, newSet, newSet.DeclaredPropertyTypes.Contains(propType)); } return; } bool origSetChanged = false; // Delete PropertyType if needed foreach (PropertyType propType in GetTypesToDelete <PropertyType>(origSet.PropertyTypes, newSet.PropertyTypes)) { writer.RemovePropertyTypeFromPropertySet(propType, newSet); origSetChanged = true; } // Create or modify PropertyTypes foreach (PropertyType propType in newSet.PropertyTypes) { if (NeedToCreate <PropertyType>(origSet.PropertyTypes, propType)) { bool isDeclared = newSet.DeclaredPropertyTypes.Contains(propType); writer.AddPropertyTypeToPropertySet(propType, newSet, isDeclared); origSetChanged = true; } else { // Modify Property declaration if needed (by the modifications in DeclaredPropertyTypes) bool newIsDeclared = newSet.DeclaredPropertyTypes.Contains(propType); bool origIsDeclared = origSet.DeclaredPropertyTypes[propType.Name] != null; if (newIsDeclared != origIsDeclared) { writer.UpdatePropertyTypeDeclarationState(propType, newSet, newIsDeclared); } } } if (origSetChanged && !modifiedPropertySets.Contains(origSet)) { modifiedPropertySets.Add(origSet); } }