API Reference > imodeljs-backend > iModels > TxnManager TxnManager Class Manages local changes to a BriefcaseDb or StandaloneDb via Txns Methods Name Description beginMultiTxnOperation(): DbResult Begin a new multi-Txn operation. cancelTo(txnId: string): IModelStatus Reverse and then cancel (make non-reinstatable) all changes back to a previous TxnId. checkUndoPossible(): boolean Determine whether undo is possible Deprecated endMultiTxnOperation(): DbResult End a multi-Txn operation getCurrentTxnId(): string Get the Id of the current (tip) transaction. getMultiTxnOperationDepth(): number Return the depth of the multi-Txn stack. getRedoString(): string Get a description of the operation that would be reinstated by calling reinstateTxn. getTxnDescription(txnId: string): string Get the description that was supplied when the specified transaction was saved. getUndoString(): string Get the description of the operation that would be reversed by calling reverseTxns(1). isTxnIdValid(txnId: string): boolean Test if a TxnId is valid queryFirstTxnId(): string Get the Id of the first transaction, if any. queryNextTxnId(txnId: string): string Get the successor of the specified TxnId queryPreviousTxnId(txnId: string): string Get the predecessor of the specified TxnId reinstateTxn(): IModelStatus Reinstate the most recently reversed transaction. reportError(error: ValidationError): void Dependency handlers may call method this to report a validation error. restartSession(): void Restart the current TxnManager session. reverseAll(): IModelStatus Reverse all changes back to the beginning of the session. reverseSingleTxn(): IModelStatus Reverse the most recent operation. reverseTo(txnId: string): IModelStatus Reverse all changes back to a previously saved TxnId. reverseTxns(numOperations: number): IModelStatus Reverse (undo) the most recent operation(s) to this IModelDb. Properties Name Type Description hasFatalError Accessor ReadOnly boolean Determine whether any fatal validation errors have occurred during dependency propagation. hasLocalChanges Accessor ReadOnly boolean Query if there are un-saved or un-pushed local changes. hasPendingTxns Accessor ReadOnly boolean Query if there are any pending Txns in this IModelDb that are waiting to be pushed. hasUnsavedChanges Accessor ReadOnly boolean Query if there are any changes in memory that have yet to be saved to the IModelDb. isRedoPossible Accessor ReadOnly boolean Determine if there are currently any reinstatable (redoable) changes isUndoPossible Accessor ReadOnly boolean Determine if there are currently any reversible (undoable) changes from this editing session. onAfterUndoRedo Readonly BeEvent<(isUndo: boolean) => void> Event raised after an undo/redo operation has been performed. onBeforeUndoRedo Readonly BeEvent<(isUndo: boolean) => void> Event raised before an undo/redo operation is performed. onChangesApplied Readonly BeEvent<() => void> Event raised after a ChangeSet has been applied to this briefcase onCommit Readonly BeEvent<() => void> Event raised before a commit operation is performed. onCommitted Readonly BeEvent<() => void> Event raised after a commit operation has been performed. onElementsChanged Readonly BeEvent<(changes: TxnChangedEntities) => void> Called after validation completes from IModelDb.saveChanges. onGeometryChanged Readonly BeEvent<(models: ModelGeometryChangesProps[]) => void> onModelGeometryChanged Readonly BeEvent<(changes: undefined) => void> Event raised after the geometry within one or more GeometricModels is modified by applying a changeset or validation of a transaction. onModelsChanged Readonly BeEvent<(changes: TxnChangedEntities) => void> Called after validation completes from IModelDb.saveChanges. validationErrors Readonly ValidationError[] Array of errors from dependency propagation Defined in core/backend/src/TxnManager.ts Line 214 Last Updated: 11 June, 2024