2013-04-09 101 views
4

是否可以通過編程方式設置工作流注釋? 例如管理員用戶在工作箱中「拒絕」該項目,我們要求提供評論。稍後,我們的代理程序會回顧此評論併發送電子郵件。現在我需要我的自定義模塊來做同樣的事情(管理拒絕功能)。Sitecore - 更新工作流歷史

這將是使用Sitecore的設置工作流程評論我想相同的代碼...

回答

3

下面是執行任何假設的工作流程的命令,你知道該命令項的ID代碼:

public bool Execute(Item item, ID commandId, string comment) 
{ 
    var workflowId = item[FieldIDs.Workflow]; 

    if (String.IsNullOrEmpty(workflowId)) 
    { 
     throw new WorkflowException("Item is not in a workflow"); 
    } 

    IWorkflow workflow = item.Database.WorkflowProvider.GetWorkflow(workflowId); 

    var workflowResult = workflow.Execute(commandId.ToString(), item, comment, false, new object[0]); 
    if (!workflowResult.Succeeded) 
    { 
     var message = workflowResult.Message; 
     if (String.IsNullOrEmpty(message)) 
     { 
      message = "IWorkflow.Execute() failed for unknown reason."; 
     } 
     throw new Exception(message); 
    } 
    return true; 
}