Получение всех пользователей определенной группы сценарием
В статье рассмотрен сценарий, с помощью которого можно получить всех пользователей определенной группы и записать их в переменную.
Примечание
В группе пользователей может быть 3 вида источника:
- Пользователи.
- Элементы оргструктуры, на которые назначены пользователи.
- Другие группы, которые также могут иметь в себе пользователей, элементы оргструктуры и группы.
В нашем случае под "пользователями определенной группы" понимаются только Пользователи.
Пример сценария с использованием PublicAPI
Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.12.1 включительно.
Контекстная переменная:
- context.Poljzovateli – переменная типа Пользователь, тип связи – Список.
Пространство имен:
1 | using EleWise.ELMA.API; |
Текст сценария:
1 2 3 4 5 | var grp = PublicAPI.Portal.Security.UserGroup.Filter().SearchString( "Все пользователи" ).Find().First().Users.ToList(); foreach (var item in grp) { context.Poljzovateli.Add(item); } |
Пример сценария без использования PublicAPI
В сценарии используется контекстная переменная:
- context.Poljzovateli – переменная типа Пользователь, тип связи – Список.
Необходимо подключить пространства имен:
1 2 | using EleWise.ELMA.Security.Models; using EleWise.ELMA.Security.Managers; |
1 2 3 4 5 6 7 8 9 | var filter= new UserGroupFilter(); filter.ShowOnlyGroups= true ; //поиск только по группам filter.SearchString= "Все пользователи" ; //задаем название группы для поиска var grp=UserGroupManager.Instance.Find(filter, null ); foreach (var item in grp.First().Users.ToList()) { var user=(User)item; context.Poljzovateli.Add(user); } |