private XmlElement GetChangesElementFor(ItemListCollectionCompareResult compareResult) { var changesElement = xmlDoc.CreateElement("all-item-changes"); if (compareResult.ItemsChanged.Count > 0) { var changedItemsElement = xmlDoc.CreateElement("modified-items"); changesElement.AppendChild(changedItemsElement); foreach (var item in compareResult.ItemsChanged) { var itemElement = xmlDoc.CreateElement(XmlEscape(GetNameFor(item.Item1))); changedItemsElement.AppendChild(itemElement); var prevElement = xmlDoc.CreateElement("previous"); prevElement.AppendChild(GetElementFor(item.Item1)); itemElement.AppendChild(prevElement); var currentElement = xmlDoc.CreateElement("current"); currentElement.AppendChild(GetElementFor(item.Item2)); itemElement.AppendChild(currentElement); } } if (compareResult.ItemsOnlyInRight.Count > 0) { var itemsAddedElement = xmlDoc.CreateElement("new-items"); changesElement.AppendChild(itemsAddedElement); foreach (var item in compareResult.ItemsOnlyInRight) { itemsAddedElement.AppendChild(GetElementFor(item)); } } if (compareResult.ItemsOnlyInLeft.Count > 0) { var itemsRemovedElement = xmlDoc.CreateElement("removed-items"); changesElement.AppendChild(itemsRemovedElement); foreach (var item in compareResult.ItemsOnlyInLeft) { itemsRemovedElement.AppendChild(GetElementFor(item)); } } return(changesElement); }
private XmlElement GetChangesElementFor(ItemListCollectionCompareResult compareResult) { var changesElement = xmlDoc.CreateElement("all-item-changes"); if (compareResult.ItemsChanged.Count > 0) { var changedItemsElement = xmlDoc.CreateElement("modified-items"); changesElement.AppendChild(changedItemsElement); foreach (var item in compareResult.ItemsChanged) { var itemElement = xmlDoc.CreateElement(XmlEscape(GetNameFor(item.Item1))); changedItemsElement.AppendChild(itemElement); var prevElement = xmlDoc.CreateElement("previous"); prevElement.AppendChild(GetElementFor(item.Item1)); itemElement.AppendChild(prevElement); var currentElement = xmlDoc.CreateElement("current"); currentElement.AppendChild(GetElementFor(item.Item2)); itemElement.AppendChild(currentElement); } } if (compareResult.ItemsOnlyInRight.Count > 0) { var itemsAddedElement = xmlDoc.CreateElement("new-items"); changesElement.AppendChild(itemsAddedElement); foreach (var item in compareResult.ItemsOnlyInRight) { itemsAddedElement.AppendChild(GetElementFor(item)); } } if (compareResult.ItemsOnlyInLeft.Count > 0) { var itemsRemovedElement = xmlDoc.CreateElement("removed-items"); changesElement.AppendChild(itemsRemovedElement); foreach (var item in compareResult.ItemsOnlyInLeft) { itemsRemovedElement.AppendChild(GetElementFor(item)); } } return changesElement; }