Rolls back all changes made to the model during the transaction.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 17.0.0.0 (17.0.1090.0)
Syntax
Return Value
If finished successfully, this method returns TransactionStatus.RolledBack.
Be aware that the returned status does not have to be necessarily the same like
the status returned by GetStatus()()()() even when the method is called
immediately after rolling back the transaction. Such difference may happen due to actions
made by a transaction finalizer, if there was one set.
(See FailureHandlingOptions for more details.)
Remarks
Examples
CopyC#
public bool CreateGrid(Autodesk.Revit.DB.Document document, XYZ p1, XYZ p2)
{
using (Transaction transaction = new Transaction(document, "Creating Grid"))
{
if (TransactionStatus.Started == transaction.Start())
{
Line gridLine = Line.CreateBound(p1, p2);
if ((null != gridLine) && (null != Grid.Create(document, gridLine)))
{
if (TransactionStatus.Committed == transaction.Commit())
{
return true;
}
}
transaction.RollBack();
}
}
return false;
}
CopyVB.NET
Public Function CreateGrid(document As Autodesk.Revit.DB.Document, p1 As XYZ, p2 As XYZ) As Boolean
Using transaction As New Transaction(document, "Creating Grid")
If TransactionStatus.Started = transaction.Start() Then
Dim gridLine As Line = Line.CreateBound(p1, p2)
If (gridLine IsNot Nothing) AndAlso (Grid.Create(document, gridLine) IsNot Nothing) Then
If TransactionStatus.Committed = transaction.Commit() Then
Return True
End If
End If
transaction.RollBack()
End If
End Using
Return False
End Function
Exceptions
Exception | Condition |
---|
Autodesk.Revit.Exceptions..::..InvalidOperationException |
The current status of the transaction is not 'Started'.
Transaction must be started before calling Commit or Rollback.
-or-
The transaction's document is currently in failure mode.
No transaction operations are permitted until failure handling is finished.
|
See Also