在介绍完表单类的时候,接下来介绍工作流引擎,主要由四个类组成,分别是流程、流程步骤、流程实例、流程步骤实例类。
流程类:
1 [Serializable] 2 public class Flow 3 { 4 [XmlAttribute] 5 public Guid FlowId { get; set; } 6 [XmlAttribute] 7 public string FlowName { get; set; } 8 public List<FlowStep> FlowSteps { get; set; } 9 [XmlAttribute] 10 public string FlowCategory { get; set; } 11 [XmlAttribute] 12 public bool Enabled { get; set; } 13 [XmlAttribute] 14 public DateTime CreateDate { get; set; } 15 public Person Creator { get; set; } 16 17 public DateTime? CanRequestDateStart { get; set; } 18 19 public DateTime? CanRequestDateEnd { get; set; } 20 21 public string CreaterName 22 { 23 get 24 { 25 if(Creator!=null) 26 return Creator.PersonName; 27 return string.Empty; 28 } 29 } 30 [XmlAttribute] 31 public Guid FormId { get; set; } 32 [XmlAttribute] 33 public string FormName { get; set; } 34 public WorkflowConstant.AccessMode AccessMode { get; set; } 35 [XmlAttribute] 36 public short PeriodTime { get; set; } 37 [XmlAttribute] 38 public string RequestRights { get; set; } 39 [XmlAttribute] 40 public string RequestGroup { get; set; } 41 public string AccessModeDesc 42 { 43 get 44 { 45 switch (RequestRights) 46 { 47 case "-不限-": 48 return "所有人"; 49 default: 50 return RequestRights+": "; 51 } 52 } 53 } 54 55 [XmlAttribute] 56 public string RoleGroups { 57 get 58 { 59 if (!string.IsNullOrEmpty(RequestGroup)) 60 { 61 return string.Join("、", RequestGroup.Split(',').Select(g => g.Split('|')[0])); 62 } 63 else 64 { 65 return string.Empty; 66 } 67 } 68 } 69 }