Esempio n. 1
0
        /// <summary>
        /// 完成任务
        /// </summary>
        /// <param name="model"></param>
        public async Task <string> CompleteTaskAsync(CompleteTaskModel model)
        {
            var task = await GetTodoTaskByIdAsync(model.TaskId);

            if (task == null)
            {
                return(null);
            }


            var arch = await archDbContext.Arches.FirstOrDefaultAsync(e => e.BusinessKey == task.BusinessKey);

            if (arch != null)
            {
                arch.FlowStatus = task.FlowStatus;
                arch.Title      = model.Title;
                arch.Version    = arch.Version + 1;
                arch.ArchNo     = model.ArchNo;

                await archDbContext.SaveChangesAsync();
            }

            Dictionary <string, object> Variables = new Dictionary <string, object>();

            if (!string.IsNullOrEmpty(model.Dispose))
            {
                Variables.Add("dispose", model.Dispose);
            }

            if (!string.IsNullOrEmpty(model.RecvUserList))
            {
                Variables.Add("assignee", model.RecvUserList);
            }


            var sendModel = new
            {
                TaskId = model.TaskId,
                Variables
            };

            var result = await httpClient.PostAsJsonAsync($"/completeTask", sendModel);

            var text = await result.RequestMessage.Content.ReadAsStringAsync();

            return(text);
        }
        public async Task <IActionResult> CompleteTask(CompleteTaskModel model)
        {
            if (model is null)
            {
                return(Json("Lỗi: sai cấu hình"));
            }
            var task = new Models.Task
            {
                Id     = model.TaskId,
                IsDone = model.IsDone
            };
            var client  = new HttpClient();
            var content = new StringContent(JsonConvert.SerializeObject(task), Encoding.UTF8, "application/json");
            var result  = await client.PutAsync("http://" + Configuration["url"] + ":88/api/v1/requests/" + model.RequestId.ToString() + "?autoadvance=" + model.AutoAdvance, content);

            if (result.IsSuccessStatusCode)
            {
                return(Json("Thao tác thành công"));
            }
            return(Json("Lỗi: không tìm thấy máy chủ"));
        }
        public async Task <IActionResult> OnPostCompleteAsync([FromForm] CompleteTaskModel completeTaskModel)
        {
            await tasksService.CompleteTaskAsync(completeTaskModel);

            return(Redirect("/Index"));
        }