RVTDocs.com

CentralModelVersionArchivedException

Class
Description:
Exception is thrown when last central version merged into the local model has been archived in the central model. Reload Latest or Synchronized with Central needs to be conducted before the current failed operation is retried.
Inheritance Hierarchy:
System.Object
  System.Exception
    Autodesk.Revit.Exceptions.ApplicationException
      Autodesk.Revit.Exceptions.CentralModelException
        Autodesk.Revit.Exceptions.CentralModelVersionArchivedException
Syntax
[SerializableAttribute]
public class CentralModelVersionArchivedException : CentralModelException
Examples
void HandleCentralModelVersionArchivedException(Document doc)
{
   FilteredElementCollector collector = new FilteredElementCollector(doc);
   ICollection<ElementId> rooms = collector.WherePasses(new RoomFilter()).ToElementIds();

   try
   {
      ICollection<ElementId> checkoutelements = WorksharingUtils.CheckoutElements(doc, rooms);
   }
   catch (Autodesk.Revit.Exceptions.CentralModelVersionArchivedException)
   {
      TaskDialog dlg = new TaskDialog("Elements can't be checked out")
      {
         MainInstruction = "The local model is out of date. Editing is limited to elements and worksets you own.",
         MainContent = "To check out elements and worksets owned by others, first reload latest or synchronize with the central model.",
      };
      dlg.Show();

      // Reload Latest, to update the local model to latest version
      ReloadLatestOptions rlOptions = new ReloadLatestOptions();
      doc.ReloadLatest(rlOptions);

      rooms = collector.WherePasses(new RoomFilter()).ToElementIds();
      ICollection<ElementId> checkoutelements = WorksharingUtils.CheckoutElements(doc, rooms);

      TaskDialog.Show(
         title: "Elements are checked out",
         mainInstruction: $"{checkoutelements.Count} elements are checked out.");
   }
}