扩展工作流程

时间:2021-07-12点击次数:71

可以选择使用插件来增强拖放到工作区中的工作流程,并为同步增加功能。可在工作流程前后插入附加功能。

根据所需功能,为工作流程编写插件程序时,需要使用以下类:

VCIWorkflowAddIn: 提供工作流程支持的类。

VCIWorkflowAddInProvider:该类为工作流程提供提供程序.

VciWorkflowAddInSupport:该类提供两个数字“VciInitialExportSupport”和“VciSyncExportSupport”,可为工作流程提供支持。

InitialExportSupport:用于拖放到工作区中的工作流程的类

SyncExportSupport:用于同步的工作流程的类。

还可以重命名类。然后调整以下代码,以匹配名称。

要求

需要具有 C# 项目来创建类库。

编写“VCIWorkflowAddIn”类的程序

要编写 “VCIWorkflowAddIn”类的程序,请按以下步骤操作:

    在项目中创建一个新类,并为其*名称“VCIWorkflowAddIn.cs”。

    在该类中添加以下两个 using 指令:

    - using Siemens.Engineering.AddIn.VersionControl;

    - using VCI.WorkflowExtension.AddIn.Workflow;

    将该类声明为“public”,并将其用作“VciRepositoryAddIn”的子类:

    public class VCIWorkflowAddIn : VciRepositoryAddIn

    在该类中添加以下方法:

    public VCIWorkflowAddIn(string displayName) : base(displayedAddinName)

    {

    }

    通过字符串变量“displayedAddinName”,将自定义插件的标题传递给基类的设计程序。用户可根据需要,对“displayedAddinName”进行重命名。

    此外,还可以在类的常量中为插件*标题,然后使用该常量。代码如下所示:

    private const string s_DisplayName = "VCI Workflow Extension AddIn";

    public VCIWorkflowAddIn() : base(s_DisplayName)

    {

    }

    在新类中输入“override”作为文本,然后在所显示的下拉菜单中选择条目“GetVciWorkflowAddInSupport”。

    该方法是一种补充,目的是包括所有相关组件。

    移除方法的内容,然后输入以下代码:

    return new VCIWorkflowAddInSupport();

编写“VCIWorkflowAddInProvider”类的程序

要编写 “VCIWorkflowAddInProvider”类的程序,请按以下步骤操作:

    在项目中创建一个新类,并为其*名称“VCIWorkflowAddInProvider.cs”。

    在该类中添加以下 using 指令:

    using Siemens.Engineering.AddIn.VersionControl;

    将该类声明为“public”,并将其用作“VciRepositoryAddInProvider”的子类:

    public class VCIWorkflowAddInProvider : VciRepositoryAddInProvider

    在新类中输入“override”作为文本,然后在所显示的下拉菜单中选择条目“GetVciRepositoryAddIns”。

    该方法是一种补充,目的是包括所有相关组件。

    移除方法的内容,然后输入以下代码:

    yield return new VCIWorkflowAddIn();

编写“VciWorkflowAddInSupport”类的程序

要编写 “VciWorkflowAddInSupport”类的程序,请按以下步骤操作:

    在项目中创建一个新类,并为其*名称“VciWorkflowAddInSupport.cs”。

    在该类中添加以下 using 指令:

    using Siemens.Engineering.AddIn.VersionControl;

    将该类声明为“public”,并将其用作“VciWorkflowAddInSupport”的子类:

    public class VCIWorkflowAddInSupport : VciWorkflowAddInSupport

    在新类中输入“override”作为文本,然后在所显示的下拉菜单中选择条目“CreateInitialExportSupport”。

    该方法是一种补充,目的是包括所有相关组件。

    移除方法的内容,然后输入以下代码:

    return new InitialExportSupport();

    在新类中输入“override”作为文本,然后在所显示的下拉菜单中选择条目“CreateSyncExportSupport”。

    该方法是一种补充,目的是包括所有相关组件。

    移除方法的内容,然后输入以下代码:

    return new SyncExportSupport();

编写“InitialExportSupport”类的程序

要编写 “InitialExportSupport”类的程序,请按以下步骤操作:

    在项目中创建一个新类,并为其*名称“InitialExportSupport.cs”。

    在该类中添加以下 using 指令:

    using Siemens.Engineering.AddIn.VersionControl;

    将该类声明为“public”,并将其用作“VciInitialExportSupport”的子类:

    public class InitialExportSupport : VciInitialExportSupport

    要在导出之前执行函数,请输入以下代码:

    public override ExportResult PreExportExecute(IEnumerable<InitialPreExportInfo> itemsToExport,
    VciInitialExportAddInContext vciInitialExportAddInContext)

    {

    //编写函数代码

    return ExportResult.Succeeded;

    }

    要在导出之后执行函数,请输入以下代码:

    public override ExportResult PostExportExecute(IEnumerable<InitialPostExportInfo> itemsToExport,
    VciInitialExportAddInContext vciInitialExportAddInContext)

    {

    //编写函数代码

    return ExportResult.Succeeded;

    }

“Export Result”可能具有的值为“Succeeded”、“Failed”和“Aborted”。

编写“SyncExportSupport”类的程序

要编写 “SyncExportSupport”类的程序,请按以下步骤操作:

    在项目中创建一个新类,并为其*名称“SyncExportSupport.cs”。

    在该类中添加以下 using 指令:

    using Siemens.Engineering.AddIn.VersionControl;

    将该类声明为“public”,并将其用作“VciSyncExportSupport”的子类:

    public class SyncExportSupport : VciSyncExportSupport

    要在同步之前执行函数,请输入以下代码:

    public override ExportResult PreExportExecute(IEnumerable<SyncPreExportInfo> itemsToExport,
    VciSyncExportAddInContext vciSyncExportAddInContext)

    {

    //编写函数代码

    return ExportResult.Succeeded;

    }

    要在同步之后执行函数,请输入以下代码:

    public override ExportResult PostExportExecute(IEnumerable<SyncPostExportInfo> itemsToExport,
    VciSyncExportAddInContext vciSyncExportAddInContext)

    {

    //编写函数代码

    return ExportResult.Succeeded;

    }

“Export Result”可能具有的值为“Succeeded”、“Failed”和“Aborted”。

完整的工作流程插件编程示例

“VCIWorkflowAddIn”类:

 
using Siemens.Engineering.AddIn.VersionControl;
using VCI.WorkflowExtension.AddIn.Workflow;
namespace VCI.WorkflowExtension.AddIn
{
public class VCIWorkflowAddIn : VciRepositoryAddIn
{
private const string s_DisplayName = "VCI Workflow Extension AddIn";
public VCIWorkflowAddIn() : base(s_DisplayName)
{
}
public override VciWorkflowAddInSupport GetVciWorkflowAddInSupport()
{
return new VCIWorkflowAddInSupport();
}
}
}

“VCIWorkflowAddInProvider”类:

 
using System.Collections.Generic;
using Siemens.Engineering.AddIn.VersionControl;
namespace VCI.WorkflowExtension.AddIn
{
public class VCIWorkflowAddInProvider : VciRepositoryAddInProvider
{
public override IEnumerable<VciRepositoryAddIn> GetVciRepositoryAddIns()
{
yield return new VCIWorkflowAddIn();
}
}
}

“VciWorkflowAddInSupport”类:

 
using Siemens.Engineering.AddIn.VersionControl;
namespace VCI.WorkflowExtension.AddIn.Workflow
{
public class VCIWorkflowAddInSupport : VciWorkflowAddInSupport
{
public override VciInitialExportSupport CreateInitialExportSupport()
{
return new InitialExportSupport();
}
public override VciSyncExportSupport CreateSyncExportSupport()
{
return new SyncExportSupport();
}
}
}

“InitialExportSupport”类:

 
using System.Collections.Generic;
using Siemens.Engineering.AddIn.VersionControl;
namespace VCI.WorkflowExtension.AddIn.Workflow
{
public class InitialExportSupport : VciInitialExportSupport
{
public override ExportResult PreExportExecute(IEnumerable<InitialPreExportInfo> itemsToExport,
VciInitialExportAddInContext vciInitialExportAddInContext)
{
// 编写函数代码
return ExportResult.Succeeded;
}
public override ExportResult PostExportExecute(IEnumerable<InitialPostExportInfo> itemsToExport,
VciInitialExportAddInContext vciInitialExportAddInContext)
{
// 编写函数代码
return ExportResult.Succeeded;
}
}
}

“SyncExportSupport”类:

 
using System.Collections.Generic;
using Siemens.Engineering.AddIn.VersionControl;
namespace VCI.WorkflowExtension.AddIn.Workflow
{
public class SyncExportSupport : VciSyncExportSupport
{
public override ExportResult PreExportExecute(IEnumerable<SyncPreExportInfo> itemsToExport,
VciSyncExportAddInContext vciSyncExportAddInContext)
{
// 编写函数代码
return ExportResult.Succeeded;
}
public override ExportResult PostExportExecute(IEnumerable<SyncPostExportInfo> itemsToExport,
VciSyncExportAddInContext vciSyncExportAddInContext)
{
// 编写函数代码
return ExportResult.Succeeded;
}
}
}

http://shtxjd.cn.b2b168.com

下一篇:删除 SQL 实例

产品推荐