using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using wispro.sp.entity.workflowDefine; using wispro.sp.share; namespace wispro.sp.web.Services { public class WorkflowService { private readonly IHttpService _httpClient; public WorkflowService(IHttpService http) { _httpClient = http; } private List bindObjectTypes = new List() { new BindObjectType(){ Name ="绩效记录",ObjectTypeFullName = typeof(wispro.sp.entity.PerformanceItem).AssemblyQualifiedName }, new BindObjectType(){ Name ="人员",ObjectTypeFullName = typeof(wispro.sp.entity.Staff).AssemblyQualifiedName} }; public List GetBindObjects() { return bindObjectTypes; } public string GetBindObjectName(string ObjectTypeFullName) { var retObj = bindObjectTypes.FirstOrDefault(b => b.ObjectTypeFullName == ObjectTypeFullName); if(retObj != null) { return retObj.Name; } else { return ""; } } List Workflows = new List(); Dictionary> InitInputValues = new Dictionary>(); public async Task AddWorkflow(entity.workflowDefine.Workflow wf,entity.workflowDefine.Action InitAction) { share.NewWorkflowObject newWorkflow = new share.NewWorkflowObject(); newWorkflow.Workflow = wf; newWorkflow.InitAction = InitAction; Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(newWorkflow)); var ret = await _httpClient.Post("WorkflowEngine/AddNew", newWorkflow); return ret; } public async Task> getAllWorkflows() { var retList = await _httpClient.Get>($"WorkflowEngine/GetAllWorkflows"); return retList; } public async Task GetWorkflow(int Id) { Workflow ret = await _httpClient.Get($"WorkflowEngine/GetWorkflow?workflowId={Id}"); Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(ret)); return ret; } public async Task> GetSteps(int Id) { var ret = await _httpClient.Get>($"WorkflowEngine/GetSteps?workflowId={Id}"); return ret; } public async Task> GetActions(int workflowId) { var ret = await _httpClient.Get>($"WorkflowEngine/GetActions?workflowId={workflowId}"); return ret; } public async Task> GetTransfers(int workflowId) { var ret = await _httpClient.Get>($"WorkflowEngine/GetTrasfers?workflowId={workflowId}"); return ret; } public async Task SaveStep(NewStepObject editStep) { var ret = await _httpClient.Post("WorkflowEngine/SaveStep", editStep); return ret; } public async Task SaveAction(entity.workflowDefine.Action editAction) { var ret = await _httpClient.Post("WorkflowEngine/SaveAction", editAction); return ret; } public async Task SaveTransfer(entity.workflowDefine.TrasferCondition trasfer) { var ret = await _httpClient.Post("WorkflowEngine/SaveTransfer", trasfer); return ret; } } }