public static SPWorkflowAssociation CreateListWorkflowAssociation(this SPWeb web, string listUrl, SPWorkflowTemplate workflowTemplate, string assocName, string workflowTasksListName, string workflowHistoryListName, bool allowManual, bool autoStartCreate, bool autoStartChange, bool overwrite = false) { SPList workflowTasksList = web.Lists.TryGetList(workflowTasksListName) ?? web.Lists[web.Lists.Add(workflowTasksListName, /*"This is workflow tasks list."*/ "", SPListTemplateType.Tasks)]; SPList workflowHistoryList = web.Lists.TryGetList(workflowHistoryListName) ?? web.Lists[web.Lists.Add(workflowHistoryListName, /*"This is workflow history list."*/ "", SPListTemplateType.WorkflowHistory)]; SPList list = web.GetListByUrl(listUrl); return(list.CreateWorkflowAssociation(workflowTemplate, assocName, workflowTasksList, workflowHistoryList, allowManual, autoStartCreate, autoStartChange, overwrite)); }
public static SPWorkflowAssociation CreateWorkflowAssociation(this SPList list, SPWorkflowTemplate workflowTemplate, string assocName, SPList workflowTasksList, SPList workflowHistoryList, bool allowManual, bool autoStartCreate, bool autoStartChange, bool overwrite = false) { SPWorkflowAssociation workflowAssociation = list.CreateWorkflowAssociation(workflowTemplate, assocName, workflowTasksList, workflowHistoryList, overwrite, assoc => { assoc.AllowManual = allowManual; assoc.AutoStartCreate = autoStartCreate; assoc.AutoStartChange = autoStartChange; }); return(workflowAssociation); }