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