是否可以通过编程方式设置工作流注释? 例如管理员用户“拒绝”工作箱中的项目,我们征求意见。稍后,我们的代理程序会检索此评论并发送电子邮件。现在我需要我的自定义模块来做同样的事情(管理员拒绝功能)。
我猜这与 Sitecore 用来设置工作流注释的代码相同......
最佳答案
假设您知道命令项的 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;
}
关于c# - Sitecore - 更新工作流程历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15893495/