Example #1
0
        public void CompleteTask(CompleteTaskInput input)
        {
            var authInfo = _authInfoProvider.GetCurrent();
            var userId   = authInfo?.User?.Id;
            var task     = _taskProvider.GetTask(input.Id);

            if (task.Assignee != userId.Value.ToString())
            {
                throw new AppCoreException($"id:为{userId.Value}的用户不是任务【{task.NodeName}】的委托人");
            }
            if (input.FormContents.Count > 0)
            {
                _taskProvider.SetFields(input.Id, input.FormContents);
            }
            if (!input.PreventCommit)
            {
                _taskProvider.Complete(input.Id, input.Comment);
            }
        }