Получение всех пользователей определенной группы сценарием
В статье рассмотрен сценарий, с помощью которого можно получить всех пользователей определенной группы и записать их в переменную.
Примечание
В группе пользователей может быть 3 вида источника:
- Пользователи.
- Элементы оргструктуры, на которые назначены пользователи.
- Другие группы, которые также могут иметь в себе пользователей, элементы оргструктуры и группы.
В нашем случае под "пользователями определенной группы" понимаются только Пользователи.
Пример сценария с использованием PublicAPI
Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.12.1 включительно.
Контекстная переменная:
- context.Poljzovateli – переменная типа Пользователь, тип связи – Список.
Пространство имен:
using EleWise.ELMA.API;
Текст сценария:
var grp = PublicAPI.Portal.Security.UserGroup.Filter().SearchString("Все пользователи").Find().First().Users.ToList(); foreach (var item in grp) { context.Poljzovateli.Add(item); }
Пример сценария без использования PublicAPI
В сценарии используется контекстная переменная:
- context.Poljzovateli – переменная типа Пользователь, тип связи – Список.
Необходимо подключить пространства имен:
using EleWise.ELMA.Security.Models; using EleWise.ELMA.Security.Managers;Текст сценария:
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); }