Проверка допустимости выполнения операции над карточкой
Использование сервисов состояний и прав доступа для проверки допустимости выполнения операции над карточкой.
Пример проверки допустимости выполнения встроенной операции
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 | Используем сервис для проверки разрешённости операции по состояниям и по правам доступа. |