AccessInfo — класс
Результат проверки доступности операции для вида карточки и набора исполняемых ролей.
-
Пространство имён:
DocsVision.BackOffice.ObjectModel -
Сборка:
DocsVision.BackOffice.ObjectModel.dll
Свойства
| Имя | Описание |
|---|---|
Возвращает список всех доступных для карточки операций и признак разрешения запуска согласно ролевой модели. |
|
Возвращает коллекцию ролей, у которых есть доступ к карточке. |
Примеры
Ниже приведён пример вывода в консоль информации по доступности операций документа с идентификатором 00000000-0000-0000-0000-000000000000.
(1)
IServerExtensionProxyService iServerExtensionProxyService = objectContext.GetService<IServerExtensionProxyService>(); (2)
Document document = objectContext.GetObject<Document>(new Guid("00000000-0000-0000-0000-000000000000")); (3)
string accessInfoString = iServerExtensionProxyService.GetAccessInfo(objectContext.GetObjectRef<Document>(document).Id,
objectContext.GetObjectRef<KindsCardKind>(document.SystemInfo.CardKind).Id,
objectContext.GetObjectRef<StatesState>(document.SystemInfo.State).Id); (4)
AccessInfo accessInfo = new AccessInfo();
accessInfo.Load(new XmlTextReader(new StringReader(accessInfoString))); (5)
foreach (var item in accessInfo.Operations) (6)
{
string operationName = objectContext.GetObject<StatesOperation>(item.OperationId).LocalizedName;
Console.WriteLine(string.Format("Operation {0} is {1}", operationName, item.Result)); (7)
}
| 1 | Инициализация контекста объектов. |
| 2 | Получение необходимых сервисов. |
| 3 | Получение документа. |
| 4 | Получение прав в формате XML, статус и вид карточки забираем из самой карточки. |
| 5 | Заполнение AccessInfo данными. |
| 6 | Обрабатываем только операции. |
| 7 | Получение локализованного названия операции, вывод в консоль вместе с признаком разрешения. |