public void EndTransaction() { if (_trans != null) { if (_trans.GetStatus() == TransactionStatus.Started) { _trans.Commit(); _transElements.Clear(); CommitDeletions(); _transDelElements.Clear(); } _trans = null; } }
public override void ShutDown() { IdlePromise.ExecuteOnShutdown( delegate { var transaction = new Autodesk.Revit.DB.Transaction(dynRevitSettings.Doc.Document, "Dynamo Script"); transaction.Start(); if (_keeperId != ElementId.InvalidElementId) { dynRevitSettings.Doc.Document.Delete(_keeperId); _keeperId = ElementId.InvalidElementId; } transaction.Commit(); }); base.ShutDown(); Updater.UnRegisterAllChangeHooks(); RevertPythonBindings(); }
public override void ShutDown(bool shutDownHost) { IdlePromise.ExecuteOnShutdown( delegate { var transaction = new Autodesk.Revit.DB.Transaction(dynRevitSettings.Doc.Document, "Dynamo Script"); transaction.Start(); if (_keeperId != ElementId.InvalidElementId) { dynRevitSettings.Doc.Document.Delete(_keeperId); _keeperId = ElementId.InvalidElementId; } transaction.Commit(); }); base.ShutDown(shutDownHost); Updater.UnRegisterAllChangeHooks(); RevertPythonBindings(); if (shutDownHost) { //shut down revit var exitCommand = RevitCommandId.LookupPostableCommandId(PostableCommand.ExitRevit); var uiapp = dynRevitSettings.Revit.ActiveUIDocument.Application; if (uiapp.CanPostCommand(exitCommand)) { uiapp.PostCommand(exitCommand); } else { MessageBox.Show( "A command in progress prevented Dynamo from closing revit. Dynamo update will be cancelled."); } } }