private XmlElement GetChangesElementFor(PropertyListCompareResult targetPropertyDiff) { var changesElement = xmlDoc.CreateElement("all-property-changes"); if (!targetPropertyDiff.AreEqual) { if (targetPropertyDiff.PropertiesChanged.Count > 0) { // changed properties var changedPropsElement = xmlDoc.CreateElement("modified-properties"); changesElement.AppendChild(changedPropsElement); foreach (var prop in targetPropertyDiff.PropertiesChanged) { changedPropsElement.AppendChild(CreateElementFor(prop)); } } if (targetPropertyDiff.PropertiesOnlyInRight.Count > 0) { // added properties var newPropsElement = xmlDoc.CreateElement("new-properties"); changesElement.AppendChild(newPropsElement); foreach (var prop in targetPropertyDiff.PropertiesOnlyInRight) { newPropsElement.AppendChild(CreateElementFor(prop)); } } if (targetPropertyDiff.PropertiesOnlyInLeft.Count > 0) { var removedPropsElement = xmlDoc.CreateElement("removed-properties"); changesElement.AppendChild(removedPropsElement); // removed properties foreach (var prop in targetPropertyDiff.PropertiesOnlyInLeft) { removedPropsElement.AppendChild(CreateElementFor(prop)); } } } return(changesElement); }
private XmlElement GetChangesElementFor(PropertyListCompareResult targetPropertyDiff) { var changesElement = xmlDoc.CreateElement("all-property-changes"); if (!targetPropertyDiff.AreEqual) { if (targetPropertyDiff.PropertiesChanged.Count > 0) { // changed properties var changedPropsElement = xmlDoc.CreateElement("modified-properties"); changesElement.AppendChild(changedPropsElement); foreach (var prop in targetPropertyDiff.PropertiesChanged) { changedPropsElement.AppendChild(CreateElementFor(prop)); } } if (targetPropertyDiff.PropertiesOnlyInRight.Count > 0) { // added properties var newPropsElement = xmlDoc.CreateElement("new-properties"); changesElement.AppendChild(newPropsElement); foreach (var prop in targetPropertyDiff.PropertiesOnlyInRight) { newPropsElement.AppendChild(CreateElementFor(prop)); } } if (targetPropertyDiff.PropertiesOnlyInLeft.Count > 0) { var removedPropsElement = xmlDoc.CreateElement("removed-properties"); changesElement.AppendChild(removedPropsElement); // removed properties foreach (var prop in targetPropertyDiff.PropertiesOnlyInLeft) { removedPropsElement.AppendChild(CreateElementFor(prop)); } } } return changesElement; }