public ModelChangeSet CreateInvertedChangeSet() { var inverse = new ModelChangeSet(); foreach (var change in Changes.Reverse()) { foreach (var inverted in change.Invert()) { inverse.Changes.Add(inverted); } } return(inverse); }
/// <summary> /// Returns previously recorded changes in a tree hierarchy. /// </summary> /// <returns></returns> public ModelChangeSet GetModelChanges() { var changes = new ModelChangeSet(); var changeModel = new ChangeModel(uriMappings, elementSources); changeModel.RootElements.Add(changes); int currentIndex = 0; var list = new List <IModelChange>(); while (currentIndex < recordedEvents.Count) { ParseChange(list, ref currentIndex); } ConnectInsertionsAndDeletions(list); #if DEBUG SanityCheckInsertionsAndDeletions(list); #endif changes.Changes.AddRange(list); return(changes); }
/// <summary> /// Creates a new instance /// </summary> public ModelChangeSetReferencedElementsCollection(ModelChangeSet parent) { this._parent = parent; }
/// <summary> /// Creates a new instance /// </summary> public ModelChangeSetChildrenCollection(ModelChangeSet parent) { this._parent = parent; }