AccessInfo — класс

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

Синтаксис

public sealed class AccessInfo

Конструкторы

Имя Описание

AccessInfo()

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

Свойства

Имя Описание

Operations

Возвращает список всех доступных для карточки операций и признак разрешения запуска согласно ролевой модели.

Roles

Возвращает коллекцию ролей, у которых есть доступ к карточке.

Методы

Имя Описание

Load(XmlReader)

Загружает параметры доступа из XML.

Save(XmlWriter)

Сохраняет параметры доступа в XML.

Примеры

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