Gets the status of a single element in the central model.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 24.0.0.0 (24.0.0.0)
Since:
2012
Syntax
Return Value
The status of the element in the local session versus the central model.
Remarks
Examples
CopyC#
public static bool AttemptToCheckoutInAdvance(Element element)
{
Document doc = element.Document;
String categoryName = element.Category.Name;
ICollection<ElementId> checkedOutIds = WorksharingUtils.CheckoutElements(doc, new ElementId[] { element.Id });
bool checkedOutSuccessfully = checkedOutIds.Contains(element.Id);
if (!checkedOutSuccessfully)
{
TaskDialog.Show("Element is not checked out", "Cannot edit the " + categoryName + " element - " +
"it was not checked out successfully and may be checked out to another.");
return false;
}
ModelUpdatesStatus updatesStatus = WorksharingUtils.GetModelUpdatesStatus(doc, element.Id);
if (updatesStatus == ModelUpdatesStatus.DeletedInCentral || updatesStatus == ModelUpdatesStatus.UpdatedInCentral)
{
TaskDialog.Show("Element is not up to date", "Cannot edit the " + categoryName + " element - " +
"it is not up to date with central, but it is checked out.");
return false;
}
return true;
}
CopyVB.NET
Public Shared Function AttemptToCheckoutInAdvance(element As Element) As Boolean
Dim doc As Document = element.Document
Dim categoryName As [String] = element.Category.Name
Dim checkedOutIds As ICollection(Of ElementId) = WorksharingUtils.CheckoutElements(doc, New ElementId() {element.Id})
Dim checkedOutSuccessfully As Boolean = checkedOutIds.Contains(element.Id)
If Not checkedOutSuccessfully Then
TaskDialog.Show("Element is not checked out", "Cannot edit the " + categoryName + " element - " + "it was not checked out successfully and may be checked out to another.")
Return False
End If
Dim updatesStatus As ModelUpdatesStatus = WorksharingUtils.GetModelUpdatesStatus(doc, element.Id)
If updatesStatus = ModelUpdatesStatus.DeletedInCentral OrElse updatesStatus = ModelUpdatesStatus.UpdatedInCentral Then
TaskDialog.Show("Element is not up to date", "Cannot edit the " + categoryName + " element - " + "it is not up to date with central, but it is checked out.")
Return False
End If
Return True
End Function
Exceptions
See Also