Compartir a través de


Procedimiento para obtener eventos para usuarios

Última modificación: jueves, 18 de marzo de 2010

Hace referencia a: SharePoint Server 2010

El objeto ActivityManager le permite recuperar dos tipos diferentes de eventos de actividad: eventos publicados por el usuario actual y eventos publicados por otros usuarios que el usuario actual desea ver. Las preferencias de usuario para determinados tipos de eventos de actividad se almacenan en objetos ActivityPreference.

Objetos ActivityPreference

El ActivityManager mantiene una lista de objetos ActivityPreference (en la propiedad ActivityPreferences, que es una ActivityPreferencesCollection). Puede establecer y obtener las preferencias de actividad para un usuario mediante el método GetActivityPreferencesPerType() y el método SetActivityPreferencesPerType del objeto ActivityPreferencesCollection. Para este tema se supone que agregó las siguientes referencias al proyecto de Microsoft Visual Studio 2010.

  • Microsoft.SharePoint

  • Microsoft.Office.Server

  • Microsoft.Office.Server.UserProfiles

  • System.Web

Obtención de eventos para usuarios

  • Use el método sobrecargado GetActivitiesByMe() para obtener eventos publicados por el usuario actual.

  • Use el método sobrecargado GetActivitiesForMe() para obtener los eventos publicados por otros usuarios que desea ver el usuario actual.

  • Use el método sobrecargado GetActivitiesByUser del objeto ActivityManager para obtener eventos publicados por usuarios especificados.

En el siguiente ejemplo de código se muestra cómo establecer las preferencias para el usuario actual y, a continuación, obtener actividades del usuario actual y para este usuario. Tenga en cuenta que necesita tener acceso a la propiedad LinksList de los objetos ActivityEvent antes de tener acceso a las otras propiedades.

//Get the desired site context.
string currentSite = "site url";
using (SPSite aSite = new SPSite(currentSite))
{
SPServiceContext currentContext = SPServiceContext.GetContext(aSite);
//Get the UserProfileManager from SPServiceContext.
UserProfileManager userProfMan = new UserProfileManager(currentContext);
//Get the current user.
string userName = Environment.UserDomainName + "\\" + Environment.UserName;
UserProfile currentUser = userProfMan.GetUserProfile(userName);
//Get the ActivityManager from the user and context.
ActivityManager activityMan = new ActivityManager(currentUser, currentContext);
//Create an instance of a list of ActivityPreferencePerType objects.
List<ActivityPreferencePerType> activityPrefsPerType = new List<ActivityPreferencePerType>(activityMan.ActivityTypes.Count);
 
//Get each ActivityType stored in ActivityManager, and for testing purposes, set each ActivityType as
//a "true" ActivityPreference.
foreach (ActivityType activityType in activityMan.ActivityTypes)
{
ActivityPreferencePerType newPref = new ActivityPreferencePerType();
newPref.ActivityType = activityType;
newPref.IsSet = true;
activityPrefsPerType.Add(newPref);
Console.WriteLine(activityType.ActivityTypeName + " " + activityType.ActivityTypeId);
}
//Set activity preferences for the user.
activityMan.ActivityPreferences.SetActivityPreferencesPerType(activityPrefsPerType);
//Get all activity events for the user. You can also use GetActivitiesByUser and 
// pass currentUser as an argument.
ActivityEventsCollection activityEventsByMeCollection = activityMan.GetActivitiesByMe();
ActivityEventsCollection activityEventsForMeCollection = activityMan.GetActivitiesForMe();
//Iterate through one of the collections to verify.
foreach (ActivityEvent activityEvent in activityEventsForMeCollection)
{
//Access the LinkList property in order to populate the ActivityEvent
//object properties
List<Link> temp = activity.LinksList;
Console.WriteLine(activityEvent.Publisher.Name);
}
Console.ReadKey(true);
}

Vea también

Referencia

Microsoft.Office.Server.ActivityFeed

Conceptos

Procedimiento para crear e insertar eventos en el suministro de noticias de un usuario

Procedimiento para crear un nuevo tipo de actividad

Otros recursos

Microsoft SharePoint Server 2010: aplicación de consola de fuentes de actividades

Creación de archivos de recursos