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