private void OID_Click(object sender, RoutedEventArgs e)
{
try
{
DocumentParts.DocumentCurrentSelection curSel = Application.ActiveDocument.CurrentSelection;
if (curSel.SelectedItems.Count > 0)
{
ModelItemCollection selectedItems = curSel.SelectedItems;
string val = String.Empty;
int i = 1;
foreach (ModelItem modelItem in selectedItems)
{
if (modelItem == null) continue;
if (GetValueFromModelItem(modelItem, "General", "OID") != null)
val += $"\nItem {i}: {GetValueFromModelItem(modelItem, "General", "OID")}";
if (GetValueFromModelItem(modelItem, "AECOsimID", "uid") != null)
val += $"\nItem {i}: {GetValueFromModelItem(modelItem, "AECOsimID", "uid")}";
i++;
}
NoteText.AppendText(val);
}
}
catch (Exception exception)
{
//ignore
}
}
private string GetValueFromModelItem(ModelItem modelItem, string categoryName, string propertyName)
{
if (modelItem.PropertyCategories.FindCategoryByDisplayName(categoryName) == null)
{
if (modelItem.Parent != null)
{
var parent = modelItem.Parent;
if (parent.PropertyCategories.FindCategoryByDisplayName(categoryName) == null)
else
{
DataProperty getValParent = parent.PropertyCategories.FindPropertyByDisplayName(categoryName, propertyName);
if (getValParent != null)
{
return getValParent.Value.ToDisplayString();
}
}
}
}
else
{
DataProperty getVal = modelItem.PropertyCategories.FindPropertyByDisplayName(categoryName, propertyName);
if (getVal == null)
MessageBox.Show($"Элемент {modelItem.DisplayName}. {categoryName} Найдена, но нет параметра {propertyName}.Запись не произведена")
else
{
return getVal.Value.ToDisplayString();
}
}
return null;
}