WF4之文件审批的研究(二)

来源:互联网 发布:站长工具 js格式化 编辑:程序博客网 时间:2024/05/16 16:55

WF4之文件审批的研究(二)
注:本文悉愚自编之文,错误遗漏自觉应有很多。着文之目的,一则是为抛砖引玉,诚盼能有同好者聚谈,或专长者指点皆为幸事,二则作为本人自学之记录,他年回顾前日能有不舍之精神,不失为甘苦之激励也。


距上篇事隔4个月了。客观原因是工作和其他的事比较多。其实写多少并不重要,每天一点,聚沙成塔,集腋成裘。合理安排时间,每天完成一点。


1 源码solution包括五个项目。
依次是ApprovalClient、ApprovalManager、ApprovalManagerActivityLibrary、ApprovalMessageContractLibrary和TrackingLibrary。
ApprovalClient是用户界面,调用WF服务,ApprovalManager是服务宿主,以WCF方式集成和发布WF服务,ApprovalManangerActivityLibrary定义了各WF元件供ApprovalManager调用,ApprovalMessageContractLibrary定义了数据模型,TrackingLibrary则用来记录动作并输出。


2 接下来进入实战阶段之一定义业务数据模型实体类。
2.1 首先当然是创建数据模型了。本着一切皆由需求出发的原则,首先需要定义“用户”以便在不同的工作流环节执行不同的操作。
2.1.1 定义User类。
内容详见ApprovalMessageContractLibrary\User.cs。定义了5个字段和属性,显然name是显示的用户名,type是用户角色,id是记录Id。对于addressResponse和addressRequest字面意思很明显,在以后我们还要说它们都有什么作用。同时包含4个不同参数的构造函数。
2.1.2 定义审批请求类
内容详见ApprovalMessageContractLibrary\ApprovalDataTypes.cs。文件中共有两个实体类,其中ApprovalRequest,即审批请求类定义了6个属性和字段,分别是文章标题、文章内容、审批类型、记录Id、请求人和协作索引。还有3个不同参数的构造函数和重写的一个ToString方法。
2.1.3 定义审批回复类
内容详见ApprovalMessageContractLibrary\ApprovalDataTypes.cs。ApprovalResponse类即审批回复类,定义了4个字段和属性,分别是是否审批通过、文章标题、记录Id和协作索引。还有两个不同参数的构造函数和一个重写的ToString方法。
2.1.4 纵观上述三类,有些显而易见的能猜出是作什么的,但是有些,像concurrentIndex字段为什么要定义,我们以后在构建工作流时,能详细的涉及到业务需求问题时将加以说明。

0 0