public IEnumerable <User> GetUserList(FlowNode node, FlowData flowData = null, User currentUser = null) { var parameter = new UserParameter { UserIds = node?.UserIds, TitleIds = node?.JobTitleIds, }; if (node != null) { if (node.LimitMode == DepartmentLimitMode.Assign) { parameter.DepartmentIds = node.DepartmentIds; } else if (node.LimitMode == DepartmentLimitMode.Poster) { if (flowData != null) { var firstNodeData = flowData.GetFirstNodeData(); var user = Core.UserManager.GetModel(firstNodeData.UserId); parameter.DepartmentIds = user.DepartmentIds; } else if (currentUser != null) { parameter.DepartmentIds = currentUser.DepartmentIds; } } else if (node.LimitMode == DepartmentLimitMode.Self) { parameter.DepartmentIds = currentUser.DepartmentIds; } } return(Core.UserManager.GetList(parameter)); }