Persistate API documentation
UndoModifications Method (noRefresh)

[This is preliminary documentation and is subject to change.]

Undoes any object modifications which have been made since the start of this Execution, or since the last call to Commit or UndoModifications.
Declaration Syntax
public void UndoModifications(
	bool noRefresh
noRefresh (Boolean)
If true, then no refresh is performed to provide the unmodified version of objects to restore, and if no clone is available, the objects are set Invalid . If false, their value is refreshed from the current value in the appropriate Database (in Server or StandAlone modes), or from the Server (in Viewer mode).

This will undo any object creations, modifications, deletions and link changes performed during this Execution. This also includes any modifications which may have been transferred from other Executions called from this one.

Link changes happen when you set or remove a persistent object as a single member (associated or not) of another persistent object, and when you add or remove a persistent object from a collection (associated or not) of persistent objects.

Note that this does not affect any objects which you have not yet attached to the persistent object tree. How undo works for object modifications depends on the category of each modified object's class and on the value of the parameter.

For objects with a class category including the Clone On Mutate function, then a clone of the object will have been made the first time SetModified was called in this transaction. The object is set back to the value of that clone.

Assembly: Persistate (Module: Persistate) Version: (