получите пользователей группой в sharepoint

Обычно более простой способ вычисления стандартных частей даты - использование стандартных функций. Итак, я предлагаю использовать DATEPART в сочетании с ПРАВОЙ, чтобы у нас было два символа, начинающихся справа:

DECLARE @DT AS DATE = '2019-01-07'
SELECT  CONCAT(year(@DT),
        RIGHT('0'+CONVERT(VARCHAR(2), DATEPART(wk, @DT)), 2))
10
задан Adyt 28 November 2008 в 03:07
поделиться

2 ответа

Первая вещь, которую необходимо знать, состоит в том, что, когда у Вас есть список с полем User / Group, необходимо знать о его типе. Когда у Вас есть один пользователь или группа в значении объекта, типом поля является SPFieldUserValue. Однако, если поле имеет многопользовательский / выбор группы, типом поля является SPFieldUserValueCollection.
Я предположу, что Ваше поле позволяет отдельному пользователю / у выбора группы и Вас уже есть следующие объекты:

SPSite site;
SPWeb web;
SPListItem item;

Теперь, мы проверим значение поля на пользователя / группа и получим список пользователей, независимых, из которого вида это (название поля является "Пользователями").

SPFieldUserValue usersField = new SPFieldUserValue(mainWeb, item["Users"].ToString());
bool isUser = SPUtility.IsLoginValid(site, usersField.User.LoginName);
List<SPUser> users = new List<SPUser>();

if (isUser)
{
    // add a single user to the list
    users.Add(usersField.User);
}
else
{
    SPGroup group = web.Groups.GetByID(usersField.LookupId);

    foreach (SPUser user in group.Users)
    {
        // add all the group users to the list
        users.Add(user.User);
    }
}

Я надеюсь, что это помогает Вам.

Спасибо,
Pedro José Batista

14
ответ дан 3 December 2019 в 20:07
поделиться

примечание: объект SPUser также может быть группой AD (то есть, объект SPUser может существовать для «DOMAIN \ Domain Users» ... поэтому объект SPUser также содержит свойство IsDomainGroup.

Из этой информации вы можете начать обход групп AD с помощью объектов SPPrincipalInfo ... однако это не всегда приятно.

Следует иметь в виду, что объект SPGroup включает свойство ContainsCurrentUser, которое может перемещаться по группам AD ... это предполагает, что у вас есть объект SPGroup, с которым можно работать.

Наслаждайтесь.
-Скотт

5
ответ дан 3 December 2019 в 20:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: