Como posso obter uma lista de todos os usuários que se reportam a um usuário específico usando UserProfileManager?

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/46011

Pergunta

Posso ver que a classe UserProfileManager tem um método GetManager() para extrair o gerente do perfil dos usuários, mas não vejo nada que retorne uma lista de todos os usuários que atualmente se reportam a um usuário específico.Gostaria de saber se existe alguma solução alternativa.

SPSite site;
SPWeb web;
SPServiceContext serviceContext;
UserProfileManager profiles;
UserProfile profile;

try
{
  using (site = new SPSite(SPContext.Current.Web.Url))
  {
    using (web = site.OpenWeb())
    {
      serviceContext = SPServiceContext.GetContext(site);
      profiles = new UserProfileManager(serviceContext);

      //Getting the profile of logged in user.
     profile = profiles.GetUserProfile(web.CurrentUser.LoginName);

    //Getting profile of the manager of the logged in user.
    profile = profile.GetManager();
    }
  }
}
catch { }
Foi útil?

Solução

De fato, você tem métodos para obter gerentes, colegas e subordinados diretos:

        // Check whether the user profile and the manager user profile exist, and that they are not                  
        // the same user.            
        if (userProfileManager.UserExists(loginName))
        {
            // Retrieve the user profile.                
            UserProfile userProfile = userProfileManager.GetUserProfile(loginName);  

            // Get the user's multiple levels of managers, peers, and direct reports.                 
            managers = new List<UserProfile>(userProfile.GetManagers());                
            peers = new List<UserProfile>(userProfile.GetPeers());                
            directReports = new List<UserProfile>(userProfile.GetDirectReports());

}

Obras em 2007, deverão ser as mesmas em 2010: http://msdn.microsoft.com/en-us/library/cc973103(v=office.12).aspx

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top