CheckoutElementsRequestTooLargeException Class


Checkout Elements Request Too Large Exception Class

Exception is thrown when too many elements are requested for checkout
Inheritance Hierarchy

Namespace: Autodesk.Revit.Exceptions
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
[SerializableAttribute]
public class CheckoutElementsRequestTooLargeException : CentralModelException

The CheckoutElementsRequestTooLargeException type exposes the following members.

Properties
Name Description
Public property Data Gets a collection of key/value pairs that provide additional user-defined information about the exception.
(Inherited from Exception )
Public property FunctionId The information of the function throwing the exception.
(Inherited from ApplicationException )
Public property HelpLink Gets or sets a link to the help file associated with this exception.
(Inherited from Exception )
Public property HResult Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.
(Inherited from Exception )
Public property InnerException Gets the Exception instance that caused the current exception.
(Inherited from Exception )
Public property Message Gets a message that describes the current exception.
(Inherited from Exception )
Public property Source Gets or sets the name of the application or the object that causes the error.
(Inherited from Exception )
Public property StackTrace Gets a string representation of the immediate frames on the call stack.
(Inherited from Exception )
Public property TargetSite Gets the method that throws the current exception.
(Inherited from Exception )
Top
Methods
Name Description
Public method Equals Determines whether the specified object is equal to the current object.
(Inherited from Object )
Public method GetBaseException When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.
(Inherited from Exception )
Public method GetHashCode Serves as the default hash function.
(Inherited from Object )
Public method GetObjectData Retrieves data needed to serialize the target object.
(Overrides CentralModelException GetObjectData(SerializationInfo, StreamingContext) )
Public method GetType Gets the runtime type of the current instance.
(Inherited from Exception )
Public method ToString Creates and returns a string representation of the current exception.
(Inherited from Exception )
Top
Example
void HandleCheckoutElementsRequestTooLargeException(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.CheckoutElementsRequestTooLargeException)
   {
      IEnumerable<WorksetId> worksets = rooms.Select(elemId => doc.GetWorksetId(elemId)).Distinct();

      TaskDialog dlg = new TaskDialog("Elements can't be checked out")
      {
         MainInstruction = $"You are trying to check out a large number of elements. Instead check out the following {worksets.Count()} worksets:",
         MainContent = string.Join(", ", worksets),
      };
      dlg.Show();

      TransactWithCentralOptions twcOptions = new TransactWithCentralOptions();
      ISet<WorksetId> worksetsCheckedout = WorksharingUtils.CheckoutWorksets(doc, worksets.ToHashSet(), twcOptions);

      TaskDialog.Show(
            title: "Worksets are checked out",
            mainInstruction: $"{worksetsCheckedout.Count} worksets are checked out.");
   }
}
See Also