向自定义工作流活动添加属性并获得属性的值
来源:互联网 发布:俄罗斯老婆知乎 编辑:程序博客网 时间:2024/06/08 19:37
先参考如下,再代码搞定
http://msdn.microsoft.com/zh-cn/library/gg327842.aspx#AddingInput
使用 .NET 属性为包含自定义工作流活动定义的程序集添加批注来提供 Microsoft Dynamics CRM 在运行时用于将代码链接到工作流引擎的元数据。有关 .NET 属性的详细信息,请参阅使用属性扩展元数据。
在开始将元数据添加到自定义工作流活动定义中之前,确保您知道自定义工作流活动支持的 Microsoft Dynamics CRM 类型和属性。有关详细信息,请参阅 进程类、属性和 Microsoft Dynamics CRM 类型.
添加输入参数
而在您工作流的类中指定的输入的参数,您还可以指定参数的默认值。 以下示例显示输入参数的定义。
[Input("DateTime input")][Default("2004-07-09T02:54:00Z")]public InArgument<DateTime> Date { get; set; }
使用 .NET 属性 Input 为此输入参数添加批注。InputAttribute 类派生自 ParameterAttribute 类,后者使用参数 (ParameterAttribute.Name) 指定输入属性的名称。此名称显示在 Web 应用程序的流程窗体助理中。这样,您就可以将属性作为输入参数映射到流程。
添加输出参数
输出参数作为输入参数相同的方式添加。 以下示例显示的输出参数的定义。
[Output("Money output only")][Default("23.3")]public OutArgument<Money> MoneyOutput { get; set; }
使用 .NET 属性 Output 为此输出参数添加批注。OutputAttribute 类派生自 ParameterAttribute 类,后者使用参数 (ParameterAttribute.Name) 指定输出属性的名称。此名称显示在 Web 应用程序的流程窗体助理中。这样,您就可以将某个属性映射为输出参数了。
为同一参数添加输入和输出属性
可以为同一参数使用输入和输出属性。在下面的代码示例中,IntParameter 是输入参数,也是输出参数。
[Input("Int input")][Output("Int output")][Default("2322")]public InOutArgument<int> IntParameter { get; set; }
其他属性
一些类型(例如 EntityReference 和 OptionSetValue)需要除 Input、Output 和 Default 属性之外的其他属性。附加特性是: ReferenceTarget和AttributeTarget。 以下示例显示了定义的参数的EntityReference类型。
[Input("EntityReference input")][Output("EntityReference output")][ReferenceTarget("account")][Default("3B036E3E-94F9-DE11-B508-00155DBA2902", "account")]public InOutArgument<EntityReference> AccountReference { get; set; }
有关支持的类型和属性的列表,请参阅进程类、属性和 Microsoft Dynamics CRM 类型。
添加 Execute 方法
自定义工作流活动必须具有 Execute 方法,如以下示例所示。
protected override void Execute(CodeActivityContext context){ if (AccountReference.Get(context).Id != new Guid("3B036E3E-94F9-DE11-B508-00155DBA2902")) { throw new InvalidPluginExecutionException("Unexpected default value"); }}
另请参阅
概念
创建自定义工作流活动在自定义工作流活动中使用 IOrganization Web 服务
进程类、属性和 Microsoft Dynamics CRM 类型
其他资源
Microsoft Dynamics CRM 2011年和 Microsoft Dynamics CRM Online 的自定义工作流活动 (工作流程序集)Microsoft Dynamics CRM 2011年和 Microsoft Dynamics CRM Online 的自定义工作流活动 (工作流程序集)
示例:创建自定义工作流活动
public sealed class MyCodeActive : CodeActivity { // 定义一个字符串类型的活动输入参数 public InArgument<string> Text { get; set; } //获得帐号信息 [Input("Account Name")] public InArgument<string> AccountName { get; set; } //获得发送内容 [Input("ContentList")] public InArgument<string> ContentList { get; set; } //测试增加一个带有默认值的属性 [Input("DateTime input")] [Default("2013-09-24T00:00:00Z")] public InArgument<DateTime> Date { get; set; } // 如果活动返回值,则从 CodeActivity<TResult> // 派生并从 Execute 方法返回该值。 WXwebservice.Service wx = new WXwebservice.Service(); protected override void Execute(CodeActivityContext executionContext) { // 获取 Text 输入参数的运行时值 string text = executionContext.GetValue(this.Text); // IWorkflowContext context = executionContext.GetExtension<IWorkflowContext>(); IOrganizationServiceFactory factory = executionContext.GetExtension<IOrganizationServiceFactory>(); IOrganizationService service = factory.CreateOrganizationService(null); Guid tmp = Guid.Empty; Entity account = new Entity("account"); account.Attributes.Add("name", AccountName.Get(executionContext)); tmp = service.Create(account); //通过webservice发送微信 string getName = executionContext.GetValue(AccountName); string getContent = executionContext.GetValue(ContentList); wx.GetNameList(getName, "", "",getContent ); } }
- 向自定义工作流活动添加属性并获得属性的值
- 从自定义的空间属性中获得属性值
- android自定义控件并添加属性的方法以及示例
- android自定义控件并添加属性的方法以及示例
- android自定义控件并添加属性的方法以及示例
- 怎样修改自定义活动的属性编辑器
- Android 自定义View并添加属性介绍
- Android 自定义View并添加属性
- Android 自定义View并添加属性
- Android 自定义View并添加属性
- Android 自定义View并添加属性
- GetCustomAttributes获得自定义属性
- spirng模型属性值的添加和获得user对象
- 添加自定义属性---索引值
- 向Jquery的cache中添加属性
- 使用HashSet和TreeSet存储多个商品信息,遍历并输出;其中商品属性:编号,名称,单价,出版社;要求向其中添加多个相同的商品,验证集合中元素的唯一性。 提示:向HashSet中添加自定义
- dedecms添加自定义属性
- ActiveX 添加自定义属性
- Unable to start activity ComponentInfo{com.example.hellotest/com.example.hellotest.TypefaceActivity}
- 神清气爽,小妹妹,先给她示范了一遍红色警戒
- 怎么做一个优秀的休闲食品代理商
- java 操作excel 导入数据库
- CLR via C#(第3版).pdf 清晰版.带自己整的 目录
- 向自定义工作流活动添加属性并获得属性的值
- linux中怎样关闭ICMP回应功能
- mysql 在多个表中查询同一个值
- select * from a,b 的弊端和代替方案
- IOS切图注意事项
- 黑马程序员-------面向对象
- 【官方文档】《暗黑世界GM管理后台系统》部署+功能说明
- 前端开发规范文档
- C++:STL标准入门汇总