SPContentType.UpdateWorkflowAssociationsOnChildren method (Boolean, Boolean, Boolean, Boolean)
Propaga as alterações em associações de fluxo de trabalho do tipo de conteúdo para tipos de conteúdo que são derivados deste tipo de conteúdo ou para instâncias desse tipo de conteúdo que tenham sido aplicadas a listas ou para ambos. Opcionalmente, marca objetos utilizados pela operação como alterado. Também suprime opcionalmente exceções que são geradas como um filho está selado ou somente leitura.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaração
Public Sub UpdateWorkflowAssociationsOnChildren ( _
bGenerateFullChangeList As Boolean, _
bPushdownDerivedCT As Boolean, _
bPushdownListCTs As Boolean, _
bThrowOnSealedOrReadOnly As Boolean _
)
'Uso
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
)
Parâmetros
bGenerateFullChangeList
Type: System.Booleantrue para marcar todos os objetos SPContentType tocados por esta operação como alterado; false , não.
bPushdownDerivedCT
Type: System.Booleantrue para propagar alterações para tipos de conteúdo derivados do tipo de conteúdo. Caso contrário, false.
bPushdownListCTs
Type: System.Booleantrue para propagar alterações para tipos de conteúdo de lista com base nesse tipo de conteúdo; Caso contrário, false.
bThrowOnSealedOrReadOnly
Type: System.Booleantrue para acionar uma exceção na ocorrência de um tipo de conteúdo está selado ou somente leitura; Caso contrário, false.
Exceptions
Exception | Condition |
---|---|
SPContentTypeSealedException | A propriedade Sealed de um filho desse tipo de conteúdo tem um valor de true. |
SPContentTypeReadOnlyException | A propriedade ReadOnly de um filho desse tipo de conteúdo tem um valor de true. |
Comentários
Use esse método para propagar alterações nas associações de fluxo de trabalho do tipo de conteúdo pai para um derivado opcionalmente ou lista versões do tipo de conteúdo, ou ambos. Se você passar false como o argumento para o parâmetro bGenerateFullChangeList , objetos de SPContentType que são tocados por esta operação não são marcados como alterados e OnChanged eventos não são gerados. Passando false como o argumento para o parâmetro bThrowOnSealedOrReadOnly suprime exceções geradas quando não não possível gravar alterações para qualquer filho porque ele está marcado como sealed ou somente leitura.
Examples
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();
Ver também
Referência
UpdateWorkflowAssociationsOnChildren overload
Microsoft.SharePoint namespace