SPContentType.UpdateWorkflowAssociationsOnChildren - Méthode (Boolean, Boolean, Boolean, Boolean)
Propage les modifications dans les associations de flux de travail de ce type de contenu à des types de contenu qui sont dérivés de ce type de contenu ou à des instances de ce type de contenu qui ont été appliquées à des listes, ou aux deux. Marque éventuellement les objets faisant partie de l'opération modifiée. Si vous le souhaitez supprime également les exceptions qui sont levées car un enfant est sealed ou en lecture seule.
Espace de noms : Microsoft.SharePoint
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
Syntaxe
'Déclaration
Public Sub UpdateWorkflowAssociationsOnChildren ( _
bGenerateFullChangeList As Boolean, _
bPushdownDerivedCT As Boolean, _
bPushdownListCTs As Boolean, _
bThrowOnSealedOrReadOnly As Boolean _
)
'Utilisation
Dim instance As SPContentType
Dim bGenerateFullChangeList As Boolean
Dim bPushdownDerivedCT As Boolean
Dim bPushdownListCTs As Boolean
Dim bThrowOnSealedOrReadOnly As Boolean
instance.UpdateWorkflowAssociationsOnChildren(bGenerateFullChangeList, _
bPushdownDerivedCT, bPushdownListCTs, _
bThrowOnSealedOrReadOnly)
public void UpdateWorkflowAssociationsOnChildren(
bool bGenerateFullChangeList,
bool bPushdownDerivedCT,
bool bPushdownListCTs,
bool bThrowOnSealedOrReadOnly
)
Paramètres
bGenerateFullChangeList
Type : System.Booleantrue pour marquer tous les objets SPContentType faisant partie de cette opération comme étant modifiés ; false ne le fait pas.
bPushdownDerivedCT
Type : System.Booleandérivés de true pour propager les modifications aux types de contenu de ce type de contenu ; dans le cas contraire, false.
bPushdownListCTs
Type : System.Booleantrue pour propager les modifications aux types de contenu de liste en fonction de ce type de contenu ; dans le cas contraire, false.
bThrowOnSealedOrReadOnly
Type : System.Booleantrue pour lever une exception lorsqu'il les rencontre un type de contenu est verrouillé ou en lecture seule ; dans le cas contraire, false.
Exceptions
Exception | Condition |
---|---|
SPContentTypeSealedException | La propriété Sealed d'un enfant de ce type de contenu a la valeur true. |
SPContentTypeReadOnlyException | La propriété ReadOnly d'un enfant de ce type de contenu a la valeur true. |
Remarques
Cette méthode permet de propager les modifications dans les associations de flux de travail parent du type de contenu à le soit dérivée éventuellement ou de liste de versions de type de contenu, ou les deux. Si vous transmettez false comme argument pour le paramètre bGenerateFullChangeList , SPContentType les objets qui sont affectés par cette opération ne sont pas marqués comme étant modifiés et OnChanged ne sont pas déclenchés. Passage de false comme argument pour le paramètre bThrowOnSealedOrReadOnly supprime les exceptions levées lors de la modification impossible d'écrire dans n'importe quel enfant car il est marqué comme sealed ou en lecture seule.
Exemples
Dim siteCollection As SPSite = New SPSite("https://localhost")
Dim site As SPWeb = siteCollection.OpenWeb()
Dim siteContentType As SPContentType = site.ContentTypes("Test Document")
Dim taskListTitle As String = "Tasks"
Dim historyListTitle As String = "Workflow History"
Dim workflowName As String = "Red-Yellow-Green"
' Get a template.
Dim workflowTemplate As SPWorkflowTemplate = Nothing
For Each template As SPWorkflowTemplate In site.WorkflowTemplates
workflowTemplate = template
' We'll take a template everyone has.
If workflowTemplate.Name = "Three-state" Then
Exit For
End If
Next template
' Create an association.
Dim workflowAssociation As SPWorkflowAssociation = _
SPWorkflowAssociation.CreateSiteContentTypeAssociation(workflowTemplate, _
workflowName, _
taskListTitle, _
historyListTitle)
' Add the association to the content type or update it if it already exists.
Console.Write("Workflow association {0} has been ", workflowAssociation.Name)
If siteContentType.WorkflowAssociations.GetAssociationByName(workflowAssociation.Name, site.Locale) Is Nothing Then
siteContentType.AddWorkflowAssociation(workflowAssociation)
Console.WriteLine("added")
Else
siteContentType.UpdateWorkflowAssociation(workflowAssociation)
Console.WriteLine("updated")
End If
' Propagate to children of this content type.
siteContentType.UpdateWorkflowAssociationsOnChildren(False, True, True, False) ' Suppress exceptions
' Clean up.
site.Dispose()
siteCollection.Dispose()
SPSite siteCollection = new SPSite("https://localhost");
SPWeb site = siteCollection.OpenWeb();
SPContentType siteContentType = site.ContentTypes["Test Document"];
string taskListTitle = "Tasks";
string historyListTitle = "Workflow History";
string workflowName = "Red-Yellow-Green";
// Get a template.
SPWorkflowTemplate workflowTemplate = null;
foreach (SPWorkflowTemplate template in site.WorkflowTemplates)
{
workflowTemplate = template;
// We'll take a template everyone has.
if (workflowTemplate.Name == "Three-state") break;
}
// Create an association.
SPWorkflowAssociation workflowAssociation =
SPWorkflowAssociation.CreateSiteContentTypeAssociation(workflowTemplate,
workflowName,
taskListTitle,
historyListTitle);
// Add the association to the content type or update it if it already exists.
Console.Write"Workflow association {0} has been ", workflowAssociation.Name);
if (siteContentType.WorkflowAssociations.GetAssociationByName(workflowAssociation.Name, site.Locale) == null)
{
siteContentType.AddWorkflowAssociation(workflowAssociation);
Console.WriteLine("added.");
}
else
{
siteContentType.UpdateWorkflowAssociation(workflowAssociation);
Console.WriteLine("updated.");
}
// Propagate to children of this content type.
siteContentType.UpdateWorkflowAssociationsOnChildren(false, // Do not generate full change list
true, // Push down to derived content types
true, // Push down to list content types
false); // Do not throw an exception if sealed or readonly
site.Dispose();
siteCollection.Dispose();
Voir aussi
Référence
UpdateWorkflowAssociationsOnChildren - Surcharge
Microsoft.SharePoint - Espace de noms