예제 #1
0
 internal void RemoveAllBookmarks(BookmarkScopeManager bookmarkScopeManager, BookmarkManager bookmarkManager)
 {
     if (this.extendedData != null)
     {
         this.extendedData.PurgeBookmarks(bookmarkScopeManager, bookmarkManager, this);
     }
 }
예제 #2
0
 public void PurgeBookmarks(BookmarkScopeManager bookmarkScopeManager, BookmarkManager bookmarkManager, System.Activities.ActivityInstance owningInstance)
 {
     if ((this.bookmarks != null) && (this.bookmarks.Count > 0))
     {
         Bookmark         bookmark;
         IList <Bookmark> list;
         this.bookmarks.TransferBookmarks(out bookmark, out list);
         this.bookmarks = null;
         if (bookmarkScopeManager != null)
         {
             bookmarkScopeManager.PurgeBookmarks(bookmarkManager, bookmark, list);
         }
         else
         {
             bookmarkManager.PurgeBookmarks(bookmark, list);
         }
         owningInstance.DecrementBusyCount(this.BlockingBookmarkCount);
         this.BlockingBookmarkCount = 0;
     }
 }
예제 #3
0
 internal void MarkAsComplete(BookmarkScopeManager bookmarkScopeManager, BookmarkManager bookmarkManager)
 {
     if (this.extendedData != null)
     {
         this.extendedData.PurgeBookmarks(bookmarkScopeManager, bookmarkManager, this);
         if (this.extendedData.DataContext != null)
         {
             this.extendedData.DataContext.Dispose();
         }
     }
     if (this.instanceMap != null)
     {
         this.instanceMap.RemoveEntry(this);
         if (this.HasActivityReferences)
         {
             this.extendedData.PurgeActivityReferences(this.instanceMap);
         }
     }
     if (this.Parent != null)
     {
         this.Parent.RemoveChild(this);
     }
 }