国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

.net之工作流工程展示及代碼分享(二)工作流引擎

2019-11-17 02:01:13
字體:
來源:轉載
供稿:網(wǎng)友

.net之工作流工程展示及代碼分享(二)工作流引擎

在介紹完表單類的時候,接下來介紹工作流引擎,主要由四個類組成,分別是流程、流程步驟、流程實例、流程步驟實例類。

流程類:

 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 CreaterName22         {23             get24             {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 AccessModeDesc42         {43             get44             {45                 switch (RequestRights)46                 {47                     case "-不限-":48                         return "所有人";49                     default:50                         return RequestRights+": ";51                 }52             }53         }54 55         [XmlAttribute]56         public string RoleGroups {57             get58             {59                 if (!string.IsNullOrEmpty(RequestGroup))60                 {61                     return string.Join("、", RequestGroup.Split(',').Select(g => g.Split('|')[0]));62                 }63                 else64                 {65                     return string.Empty;66                 }67             } 68         }69     }
View Code

流程步驟類:

 1     [Serializable] 2     public class FlowStep 3     { 4         [XmlAttribute] 5         public Guid StepId { get; set; } 6         [XmlAttribute] 7         public Guid PReviousStepId { get; set; } 8         [XmlAttribute] 9         public Guid NextStepId { get; set; }10         [XmlAttribute]11         public int SequenceId { get; set; }12         [XmlAttribute]13         public string StepName { get; set; }14         [XmlAttribute]15         public string RightGroupTitle { get; set; }16         public List<Guid> CanWriteFormContolIds { get; set; }17         [XmlAttribute]18         public bool CanReturnToPreviousStep { get; set; }19         [XmlAttribute]20         public bool CanReturnToFirstStep { get; set; }21         [XmlAttribute]22         public bool AllowSelectAuditor { get; set; }23         public WorkflowConstant.CounterSignatureMode CounterSignatureMode { get; set; }24         [XmlAttribute]25         public bool IsStartStep { get; set; }26         [XmlAttribute]27         public bool IsLastStep { get; set; }28         [XmlAttribute]29         public bool CanUploadFile { get; set; }30         [XmlAttribute]31         public bool MustUploadFile { get; set; }32         [XmlAttribute]33         public int UploadFileCount { get; set; }34     }
View Code

流程實例類:

 1    [Serializable] 2     public class FlowInstance 3     { 4         [XmlAttribute] 5         public Guid FlowInstantId { get; set; } 6         public Flow Flow { get; set; } 7          8         public List<FlowInstanceStep> FlowStepInstances { get; set; }  9         public Person Creator { get; set; }10         [XmlAttribute]11         public DateTime CreateDate { get; set; }12         [XmlAttribute]13         public DateTime LastDealDate { get; set; }14         [XmlAttribute]15         public WorkflowConstant.SignatureStatus FlowStatus { get; set; }16 17         public string FlowStatusName18         {19             get20             {21                 switch (FlowStatus)22                 {23                     case WorkflowConstant.SignatureStatus.Start:24                         return "進行中";25                         break;26                     case WorkflowConstant.SignatureStatus.Undeal:27                         return "未處理";28                         break;29                     case WorkflowConstant.SignatureStatus.PartialPassed:30                         return "部分通過";31                         break;32                     case WorkflowConstant.SignatureStatus.Passed:33                         return "通過";34                         break;35                     case WorkflowConstant.SignatureStatus.OutDated:36                         return "過期";37                         break;38                     case WorkflowConstant.SignatureStatus.Canceled:39                         return "取消";40                         break;41                     case WorkflowConstant.SignatureStatus.RejectToPreviousStep:42                         return "退回上一步";43                         break;44                     case WorkflowConstant.SignatureStatus.RejectToFirstStep:45                         return "退回第一步";46                         break;47                     case WorkflowConstant.SignatureStatus.Stopped:48                         return "停止";49                         break;50                     case WorkflowConstant.SignatureStatus.Finish:51                         return "結束";52                         break;53                     default:54                         return string.Empty;55                 }56             }57         }58 59         public DateTime? EndDate60         {61             get62             {63                 if (Flow != null)64                 {65                     return CreateDate.AddDays(Flow.PeriodTime);66                 }67                 else return null;68             }69         }70 71         public string CurrentStepDisplayName { get; set; }72     }
View Code

流程步驟實例類:

 1     [Serializable] 2     public class FlowInstanceStep 3     { 4         [XmlAttribute] 5         public Guid StepInstanceId { get; set; } 6         public List<WorkflowPersonSignature> PersonSignatures { get; set; } 7  8         public SerializableDictionary<Guid, string> WriteValues { get; set; } 9
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 嘉鱼县| 高青县| 甘孜| 原平市| 澜沧| 鹤庆县| 宁乡县| 铜陵市| 晋中市| 依安县| 绍兴县| 蕲春县| 建平县| 平山县| 巩留县| 乡城县| 沙湾县| 石狮市| 沁源县| 灌阳县| 涞水县| 江北区| 静宁县| 大田县| 长沙市| 酒泉市| 桃园县| 康保县| 新平| 福泉市| 望都县| 新宾| 厦门市| 浙江省| 康乐县| 额济纳旗| 荣昌县| 筠连县| 姚安县| 花莲县| 南岸区|