Проверка допустимости выполнения операции над карточкой

Использование сервисов состояний и прав доступа для проверки допустимости выполнения операции над карточкой.

Пример проверки допустимости выполнения встроенной операции TakeToWorkOperation для карточки задания:
ObjectContext context = GetContext(); (1)

Guid taskId = GetTaskId(); (2)

Task task = context.GetObject<Task>(taskId); (3)

ObjectModel.Services.IStateService stateService = context.GetService<ObjectModel.Services.IStateService>(); (4)

ObjectModel.Services.IAccessCheckingService accessService = context.GetService<ObjectModel.Services.IAccessCheckingService>(); (5)

bool operationAllowed = stateService.IsOperationAllowed(Task.TakeToWorkOperation, task) && accessService.IsOperationAllowed(task, Task.TakeToWorkOperation); (6)
1 Получаем контекст.
2 Получаем идентификатор задания.
3 Получаем задание.
4 Получаем сервис состояний.
5 Получаем сервис проверки доступа.
6 Используем сервис для проверки разрешённости операции по состояниям и по правам доступа.