Выковыриваем данные из PeopleEditor

// получаем юзверей выбранных в пипл-пикере
public static SPFieldUserValueCollection GetSelectedUsers(SPWeb web, PeopleEditor editor)
{
  SPFieldUserValueCollection values = new SPFieldUserValueCollection();
  foreach (PickerEntity entity in editor.ResolvedEntities)
  {
    String tmpPrincipalType = (entity.EntityData["PrincipalType"]).ToString();

    if (tmpPrincipalType == "User")
    {
      SPUser user = SPContext.Current.Web.SiteUsers[entity.Key];
      SPFieldUserValue fuv = new SPFieldUserValue(web, user.ID, user.LoginName);
      values.Add(fuv);
    }
    else if (tmpPrincipalType == "SecurityGroup")
    {
      SPUser user = web.EnsureUser(entity.Key);
      values.Add(new SPFieldUserValue(web, user.ID, user.LoginName));
    }
    else if (tmpPrincipalType == "SharePointGroup")
    {
      SPGroup group = web.SiteGroups[entity.Key];
      SPFieldUserValue fuv = new SPFieldUserValue(group.ParentWeb, group.ID, group.Name);
      values.Add(fuv);
    }
  }
  return values;
}


* This source code was highlighted with Source Code Highlighter.

Комментарии

Популярные сообщения