示例#1
0
        public void Notify(IDelegateTask task)
        {
            string assignee = task.Assignee;

            task.SetVariableLocal($"{assignee}", new { Id = assignee });
            //if (string.IsNullOrWhiteSpace(assignee))
            //{
            //    return;
            //}

            //IUserInfo user = task.GetVariableLocal<IUserInfo>($"{assignee}");
            //if (user is object && string.Equals(user.Id, assignee, StringComparison.OrdinalIgnoreCase))
            //{
            //    return;
            //}

            //IUserServiceProxy userService = ProcessEngineServiceProvider.Resolve<IUserServiceProxy>();

            //user = AsyncHelper.RunSync(() => userService.GetUser(assignee));
            //if (user == null)
            //{
            //    logger.LogError($"找不到执行人{assignee}");
            //}
            //else
            //{
            //    user.TenantId = task.TenantId;
            //    task.AssigneeUser = user.FullName;
            //}

            //task.SetVariableLocal($"{assignee}", user);
        }
        public void Notify(IDelegateTask task)
        {
            string assignee = task.Assignee;

            if (string.IsNullOrWhiteSpace(assignee))
            {
                return;
            }

            IUserInfo user = task.GetVariableLocal <IUserInfo>($"{assignee}");

            if (!(user is null) && user.Id == assignee)
            {
                return;
            }

            IUserServiceProxy userService = ProcessEngineServiceProvider.Resolve <IUserServiceProxy>();

            user = AsyncHelper.RunSync(() => userService.GetUser(assignee));
            if (user == null)
            {
                logger.LogError($"找不到执行人{assignee}");
            }
            else
            {
                user.TenantId     = task.TenantId;
                task.AssigneeUser = user.FullName;
            }

            task.SetVariableLocal($"{assignee}", user);
        }
示例#3
0
        public virtual void Notify(IDelegateTask delegateTask)
        {
            delegateTask.Execution.SetVariable("greeting", "Hello from " + greeter.GetValue(delegateTask.Execution));
            delegateTask.Execution.SetVariable("shortName", shortName.GetValue(delegateTask.Execution));

            delegateTask.SetVariableLocal("myTaskVariable", "test");
        }
        public virtual void Notify(IDelegateTask delegateTask)
        {
            if (expression != null && expression.GetValue(delegateTask) != null)
            {
                // get the expression variable
                var exp = expression.GetValue(delegateTask)
                          .ToString();

                // this expression will be evaluated when completing the task
                delegateTask.SetVariableLocal("validationRule", exp);
            }
        }
        public void Notify(IDelegateTask task)
        {
            string assignee = task.Assignee;

            if (string.IsNullOrWhiteSpace(assignee))
            {
                return;
            }

            IUserInfo user;

            if (task.HasVariableLocal(assignee))
            {
                user = task.GetVariableLocal <IUserInfo>(assignee);
                if (user is object && string.Equals(user.Id, assignee, StringComparison.OrdinalIgnoreCase))
                {
                    return;
                }
            }

            IUserServiceProxy userService = ProcessEngineServiceProvider.Resolve <IUserServiceProxy>();

            user = userService.GetUser(assignee)
                   .ConfigureAwait(false)
                   .GetAwaiter()
                   .GetResult();
            if (user == null)
            {
                logger.LogError($"找不到执行人{assignee}");
            }
            else
            {
                user.TenantId     = task.TenantId;
                task.AssigneeUser = user.FullName;
            }

            task.SetVariableLocal($"{assignee}", user);
        }
 public virtual void Notify(IDelegateTask delegateTask)
 {
     delegateTask.SetVariableLocal("var", "foo");
 }