c# - Sitecore - 更新工作流程历史记录

标签 c# sitecore sitecore6

是否可以通过编程方式设置工作流注释? 例如管理员用户“拒绝”工作箱中的项目,我们征求意见。稍后,我们的代理程序会检索此评论并发送电子邮件。现在我需要我的自定义模块来做同样的事情(管理员拒绝功能)。

我猜这与 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/

相关文章:

c# - 替换 Sitecore 媒体库链接中的空格

asp.net-mvc - Sitecore MVC渲染类型说明

sitecore - 在 Sitecore 中配置多个站点

c# - 如何使用 C# 将每个按钮单击的名称添加到字符串生成器

c# - 打开文件对话框多选

javascript - Sitecore SPEAK UI 以编程方式设置 ComboBox 的选定项目

validation - 验证 Sitecore 项目名称的唯一性

c# - x64 和 x32 中的不同行为展开堆栈

c# - 如何使用 Newtonsoft.Json 将对象序列化为带有类型信息的 json?

c# - 打开布局详细信息屏幕时是否会触发事件?