using Newtonsoft.Json.Linq; using PTMedicalInsurance.Helper; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PTMedicalInsurance.Business { class ProcessManager { private List Processes { get; set; } public ProcessManager() { Processes = new List(); } public ProcessManager(List processes) { Processes = processes; } /// /// 增加单个处理流程 /// /// public ProcessManager Add(AbstractProcess process) { Processes.Add(process); return this; } /// /// 运行 /// /// /// public string Run(JObject input) { string data = ""; // 按顺序执行业务 foreach (var process in Processes) { var ret = process.Process(input); data = ret.Data; if (ret.Code < 0) { //异常 data = ret.Data; break; } if (!string.IsNullOrEmpty(data)) { input = JObject.Parse(data); } } return data; } } }