public async Task <EngineQueryHistoricProcessInstanceGrid> QueryHistoricProcessInstances( QueryHistoricProcessInstanceRequest request) { var baseUrl = WorkflowSettingSingleTon.WorkflowSetting.BaseUrl; var url = $@"{baseUrl}/query/historic-task-instances"; return(await QueryHistoric <EngineQueryHistoricProcessInstanceGrid>(url, request)); }
QueryHistoricTasks(QueryHistoricProcessInstanceRequest queryHistoricProcessInstanceRequest) { ValidateHistoricTasks(queryHistoricProcessInstanceRequest); var engineClient = InjectorSingleTon.Inject <IWorkflowEngineClient>(); return(await engineClient.QueryHistoricTasks(queryHistoricProcessInstanceRequest)); }
QueryHistoric <T>(string url, QueryHistoricProcessInstanceRequest request) where T : BaseWorkflowResponse, new() { var rContinue = new T(); var jsonInString = JsonConvert.SerializeObject(request); using (_httpClient = new HttpClient()) { SetDefaultHeaders(_httpClient); // ایجاد کاربر در engine اگر وجود نداشته باشد IsUserExistsOrNotCreateIt(); var resp = await _httpClient.PostAsync(url, new StringContent(jsonInString, Encoding.UTF8, "application/json")); if ((int)resp.StatusCode == 200) { rContinue.Status = EngineResponseStatus.Success; return(await ActivitiEngineClientHelper.Parse <T>(resp)); } else if ((int)resp.StatusCode == 400) { rContinue.Status = EngineResponseStatus.Fail; var errorxml = await resp.Content.ReadAsStringAsync(); rContinue.Message = "مقادیر ارسالی اشتباه است یا assignee خالی است" + errorxml; } else if ((int)resp.StatusCode == 404) { rContinue.Status = EngineResponseStatus.Fail; var errorxml = await resp.Content.ReadAsStringAsync(); rContinue.Message = "Task مورد نظر یافت نشد" + errorxml; } else if ((int)resp.StatusCode == 409) { rContinue.Status = EngineResponseStatus.Fail; var errorxml = await resp.Content.ReadAsStringAsync(); rContinue.Message = "Task به دلیل کانفلیکت انجام نمیشود یا Task بطور همزمان آپدیت میشود یا این Task توسط کاربر دیگر در انحصار انجام قرار دارد" + errorxml; } else { throw new ActivitiEngineClientException("این کد رسپانس پیاده سازی نشده"); } } return(rContinue); }
public async Task <EngineQueryHistoricProcessInstanceGrid> QueryHistoricProcessInstances( QueryHistoricProcessInstanceRequest request) { ValidateQueryHistoricProcessInstancesRequest(request); var engineClient = InjectorSingleTon.Inject <IWorkflowEngineClient>(); return(await engineClient.QueryHistoricProcessInstances(request)); }
private Variable[] ToVariables(Variable[] startModelVariables, QueryHistoricProcessInstanceRequest rStart) { List <Variable> vars = new List <Variable>(); foreach (var variable in startModelVariables) { vars.Add(new Variable { Name = variable.Name, Value = variable.Value }); } return(vars.ToArray()); }
public async Task setUpqueryHistoricProcessInstanceRequest() { var processDefinitions = await workflowService.GetProcessDefinitions(pdr); List <Variable> vars = new List <Variable>(); vars.Add(new Variable { Name = "vacationType", Value = "3", Operation = "equals" }); var vr = processDefinitions.Data.First(d => d.Key == "vacationRequest"); _queryHistoricProcessInstanceRequest = new QueryHistoricProcessInstanceRequest { ProcessDefinitionId = vr.Id, Variables = vars.ToArray(), }; }
public async Task <EngineQueryHistoricTasksGrid> QueryHistoricTasks(QueryHistoricProcessInstanceRequest request) { var baseUrl = WorkflowSettingSingleTon.WorkflowSetting.BaseUrl; var url = $@"{baseUrl}/query/historic-task-instances"; /*if (string.IsNullOrEmpty(request.taskAssignee)) * url += "&taskAssignee=" + request.taskAssignee; * * if (string.IsNullOrEmpty(request.taskAssigneeLike)) * url += "&taskAssigneeLike=" + request.taskAssigneeLike; * * * if (string.IsNullOrEmpty(request.taskInvolvedUser)) * url += "&taskInvolvedUser="******"&finished=" + request.finished; * * * if (request.processFinished.HasValue) * url += "&processFinished=" + request.processFinished; * * if (string.IsNullOrEmpty(request.taskName)) * url += "&taskName=" + request.taskName; * * * if (string.IsNullOrEmpty(request.taskNameLike)) * url += "&taskNameLike=" + request.taskNameLike; * * if (string.IsNullOrEmpty(request.processDefinitionKey)) * url += "&processDefinitionKey=" + request.processDefinitionKey; */ if (string.IsNullOrEmpty(request.processDefinitionKey) && string.IsNullOrEmpty(request.ProcessDefinitionId)) { throw new ActivitiEngineClientException( "باید یکی از پارامتر ها مقدار دهی شده باشند processDefinitionKey , ProcessDefinitionId: "); } return(await QueryHistoric <EngineQueryHistoricTasksGrid>(url, request)); }
private void ValidateQueryHistoricProcessInstancesRequest(QueryHistoricProcessInstanceRequest request) { }