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));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 4
0
        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());
        }
Esempio n. 6
0
        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));
        }
Esempio n. 8
0
 private void ValidateQueryHistoricProcessInstancesRequest(QueryHistoricProcessInstanceRequest request)
 {
 }