日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

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

發布時間:2023/11/27 生活经验 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .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 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     }
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 FlowStatusName
18         {
19             get
20             {
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? EndDate
60         {
61             get
62             {
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        
10         public FlowStep FlowStep { get; set; }
11         [XmlAttribute]
12         public DateTime CreateDate { get; set; }
13         [XmlAttribute]
14         public DateTime ProcessDate { get; set; }
15         [XmlAttribute]
16         public WorkflowConstant.SignatureStatus StepStatus { get; set; }
17         public List<AttachFile> FileList { get; set; } 
18     }
View Code

?

這幾個類使用了“貧血模型”?

設定好流程和步驟,以后每次建立的流程實例都是從流程獲取到的。

?

本系列導航:

  1. .net之工作流工程展示及代碼分享(預告)
  2. .net之工作流工程展示及代碼分享(一)工作流表單
  3. .net之工作流工程展示及代碼分享(二)工作流引擎
  4. .net之工作流工程展示及代碼分享(三)數據存儲引擎
  5. .net之工作流工程展示及代碼分享(四)主控制類
  6. .net之工作流工程展示及代碼分享(五)前端交互

轉載于:https://www.cnblogs.com/thanks/p/4305884.html

總結

以上是生活随笔為你收集整理的.net之工作流工程展示及代码分享(二)工作流引擎的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久久7777 | 夜夜爽天天干 | 综合五月激情 | 色七七在线 | 韩国久久久久 | 伊人青青草视频 | 在线观看日批视频 | 一区二区精品在线 | 亚洲综合五月天婷婷丁香 | 日韩精品视频免费在线观看 | 天堂成人在线观看 | 国产精品久久久久久久裸模 | 美女少妇直播 | 欧美xo影院| 韩日一区二区三区 | av免费网址在线观看 | 精品一区中文字幕 | 久久人精品 | 欧美性一区 | 成人天堂噜噜噜 | 国产精品久久麻豆 | 好吊色免费视频 | 手机看片1024国产 | 国产露脸国语对白在线 | 人人插人人| 日本视频三区 | 麻豆疯狂做受xxxx高潮视频 | 姐姐的秘密韩剧免费观看全集中文 | 蜜桃视频在线观看网站 | 欧美高清精品一区二区 | 91亚洲精品乱码久久久久久蜜桃 | 日韩a√| 日日夜夜免费精品视频 | 日韩精品一区二区在线视频 | 少妇高潮喷水在线观看 | 一本久道久久综合无码中文 | 不卡视频在线观看 | 日韩欧美日本 | 欧美一区二区三区不卡视频 | 午夜爱| 精品女厕偷拍一区二区 | 日本高清视频网站 | 午夜网站在线 | 国产视频中文字幕 | 精品国产一 | 51精产品一区一区三区 | 99久久精品免费视频 | www.日日日| 欧美无砖专区免费 | 51av在线 | 精品欧美一区二区三区成人 | 国产精品久久久免费观看 | 中文字幕在线精品 | 亚洲国产aⅴ精品一区二区的游戏 | 天天舔日日操 | 久久国产乱子伦精品 | 天堂av8在线| 精产国产伦理一二三区 | 9.1在线观看免费 | 国产一级片免费播放 | 日韩精品中文字幕在线播放 | 国产精品50页 | 国产第七页 | 欧美视频第一页 | 91精品国产91综合久久蜜臀 | 亚洲一区影院 | 国产精品探花一区二区在线观看 | 免费在线视频一区 | 欧美激情999 | 亚洲精品久久久久久国产精华液 | 天天躁日日躁aaaa视频 | av片网| 绯色av一区二区 | 韩国一二三区 | 久久久久久国产精品免费免费 | 一区二区三区久久 | 日韩欧美一区二区区 | 免费视频污 | 亚洲字幕成人中文在线观看 | 自拍视频在线播放 | 亚洲二级片 | 福利视频在线 | 午夜两性视频 | 中文在线а√在线8 | a级片在线观看 | 日日狠狠久久 | 一级全黄裸体免费观看视频 | 欧美情侣性视频 | 九九爱爱视频 | 涩涩免费网站 | 91桃色免费视频 | 欧美精品日韩在线观看 | 黄色av三级 | www.蜜臀| 日本三级不卡 | 国产男女猛烈无遮挡免费观看网站 | 黄色三级网络 | 福利小视频在线观看 | 亚洲伊人精品 |