<< Click to Display Table of Contents >> Объектная модель > Основные механизмы > StateView, StateBlock, StateBlockContent – контрол состояния > StateBlock – блок контрола состояния HasEntity – проверить наличие сущности в блоке и дочерних блоках |
Метод используется для проверки, есть ли указанная сущность в блоке и его дочерних блоках.
Синтаксис
C# |
public bool HasEntity(IEntity entity); |
Параметры
entity – сущность, наличие которой необходимо проверить в блоке и его дочерних блоках.
Возвращаемое значение
True, если сущность есть в блоке или его дочерних блоках, иначе False.
Пример. Добавление в контрол состояния информации о задачах, в которые вложен документ
public void AddTasksViews(StateView stateView, IElectronicDocument document)
{
// Получить все задачи, в которые вложен документ.
var tasks = Tasks.GetAll()
.Where(task => task.AttachmentDetails
.Any(a => a.AttachmentTypeGuid == document.GetEntityMetadata().GetOriginal().NameGuid &&
a.AttachmentId == document.Id))
.OrderBy(task => task.Created)
.ToList();
// По сформированному списку задач проверить, указана ли
// информация об этих задачах в блоках контрола состояния.
foreach (var task in tasks)
{
if (stateView.Blocks.Any(b => b.HasEntity(task)))
continue;
// Если информация о задачах отсутствует, добавить ее в контрол состояния.
AddTaskViewXml(stateView, task, document);
}
}
© Компания Directum, 2024 |