示例#1
0
        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));
        }
示例#2
0
        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);
        }