SPModerationInformation - Classe
Fournit des informations sur l'état d'approbation du contenu pour un élément dans une liste ou une bibliothèque de documents.
System.Object
Microsoft.SharePoint.SPModerationInformation
Espace de noms : Microsoft.SharePoint
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
'Déclaration
Public Class SPModerationInformation
'Utilisation
Dim instance As SPModerationInformation
public class SPModerationInformation
L'exemple de code suivant itère toutes les bibliothèques de documents avec l'approbation de contenu activée sur chaque site de la collection de sites actuelle et affiche les URL de tous les documents en attente.
Notes
Pour plus d'informations sur la façon d'utiliser des requêtes de Language-Integrated Query (LINQ) pour récupérer des éléments de liste dans SharePoint Foundation, voir Managing Data with LINQ to SharePoint.
Dim siteCollection As New SPSite("https://localhost")
Dim subSites As SPWebCollection = siteCollection.AllWebs
Dim site As SPWeb
For Each site In subSites
Dim lists As SPListCollection = site.Lists
Dim list As SPList
For Each list In lists
If list.BaseType = SPBaseType.DocumentLibrary Then
Dim docLibrary As SPDocumentLibrary =
CType(list, SPDocumentLibrary)
If Not docLibrary.IsCatalog AndAlso
docLibrary.EnableModeration = True Then
Dim allItemsQuery As New SPQuery()
allItemsQuery.ViewAttributes =
"ModerationType='Moderator'"
Dim docLibItems As SPListItemCollection =
docLibrary.GetItems(allItemsQuery)
Dim docLibItem As SPListItem
For Each docLibItem In docLibItems
If docLibItem.ModerationInformation.Status =
SPModerationStatusType.Pending Then
Console.WriteLine(site.Url + "/" +
docLibItem.File.Url)
End If
Next docLibItem
End If
End If
Next list
Next site
using (SPSite oSiteCollection = new SPSite("https://localhost"))
{
SPWebCollection collWebsites = oSiteCollection.AllWebs;
foreach (SPWeb oWebsite in collWebsites)
{
SPListCollection collLists = oWebsite.Lists;
foreach (SPList oList in collLists)
{
if (oList.BaseType == SPBaseType.DocumentLibrary)
{
SPDocumentLibrary oDocLibrary = (SPDocumentLibrary)oList;
if (!oDocLibrary.IsCatalog && oDocLibrary.EnableModeration == true)
{
SPQuery oQuery = new SPQuery();
oQuery.ViewAttributes = "ModerationType='Moderator'";
SPListItemCollection collListItems = oDocLibrary.GetItems(oQuery);
foreach (SPListItem oListItem in collListItems)
{
if (oListItem.ModerationInformation.Status == SPModerationStatusType.Pending)
{
Console.WriteLine(oWebsite.Url + "/" + oListItem.File.Url);
}
}
}
}
}
oWebsite.Dispose();
}
}
Notes
Certains objets implémentent l'interface IDisposable , et vous devez éviter de conserver ces objets dans la mémoire après que qu'ils ne sont plus nécessaires. Pour plus d'informations sur les bonnes pratiques de codage, consultez Disposing Objects.
Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.