private static void GetOldAndNewValues(IXmlChange xmlChange, out string property, out string oldValue, out string newValue) { if (xmlChange.Action == XObjectChange.Name) { var nodeNameChange = xmlChange as IXmlNodeNameChange; newValue = nodeNameChange.NewName.LocalName; oldValue = nodeNameChange.OldName.LocalName; property = string.Empty; } else if (xmlChange.Action == XObjectChange.Value) { var nodeValueChange = xmlChange as IXmlNodeValueChange; var xattr = nodeValueChange.Node as XAttribute; Debug.Assert(xattr != null); property = xattr.Name.LocalName; newValue = nodeValueChange.NewValue; oldValue = nodeValueChange.OldValue; } else { newValue = String.Empty; oldValue = String.Empty; property = String.Empty; } }
public ExternalXMLModelChange(IXmlChange xmlChange, ExpectEFObjectParentForXObject assertDelegate) { _xmlChange = xmlChange; _changedEFObject = ModelItemAnnotation.GetModelItem(_xmlChange.Node); _expectEFObjectParentForXObject = assertDelegate; ResolveParentEFObject(); }
private IXmlChange GetXmlChange(XmlModelChange modelChange) { IXmlChange result = null; if (_changeMap.TryGetValue(modelChange, out result)) { return(result); } if (result == null) { var addChange = modelChange as AddNodeChange; if (addChange != null) { result = new VSXmlAddNodeChange(addChange); } } if (result == null) { var removeChange = modelChange as RemoveNodeChange; if (removeChange != null) { result = new VSXmlRemoveNodeChange(removeChange); } } if (result == null) { var nodeNameChange = modelChange as NodeNameChange; if (nodeNameChange != null) { result = new VSXmlNodeNameChange(nodeNameChange); } } if (result == null) { var nodeValueChange = modelChange as NodeValueChange; if (nodeValueChange != null) { result = new VSXmlNodeValueChange(nodeValueChange); } } if (result != null) { _changeMap[modelChange] = result; } return(result); }
private static EfiChange.EfiChangeType GetChangeType(IXmlChange xmlChange) { switch (xmlChange.Action) { case XObjectChange.Add: return(EfiChange.EfiChangeType.Create); case XObjectChange.Remove: return(EfiChange.EfiChangeType.Delete); case XObjectChange.Name: case XObjectChange.Value: return(EfiChange.EfiChangeType.Update); default: Debug.Assert(false, "Unexpected type of XObjectChange"); return(EfiChange.EfiChangeType.Update); } }
private static EfiChange.EfiChangeType GetChangeType(IXmlChange xmlChange) { switch (xmlChange.Action) { case XObjectChange.Add: return EfiChange.EfiChangeType.Create; case XObjectChange.Remove: return EfiChange.EfiChangeType.Delete; case XObjectChange.Name: case XObjectChange.Value: return EfiChange.EfiChangeType.Update; default: Debug.Assert(false, "Unexpected type of XObjectChange"); return EfiChange.EfiChangeType.Update; } }