Ejemplo n.º 1
0
        /// <summary>
        /// 按部门获取用户列表
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="departmentId">部门主键</param>
        /// <param name="containChildren">含子部门</param>
        /// <returns>数据表</returns>
        public DataTable GetDTByDepartment(UserInfo userInfo, string departmentId, bool containChildren)
        {
            var dataTable = new DataTable(PiUserTable.TableName);
            var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.UserService_GetDTByDepartment);

            ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider =>
            {
                var userManager = new PiUserManager(dbProvider, userInfo);
                if (string.IsNullOrEmpty(departmentId))
                {
                    dataTable = userManager.GetDT(PiUserTable.FieldDeleteMark, 0, PiUserTable.FieldSortCode);
                }
                else
                {
                    dataTable = containChildren? userManager.GetChildrenUsers(departmentId) : userManager.GetDTByDepartment(departmentId);
                }
                dataTable.TableName = PiUserTable.TableName;
            });
            return(dataTable);
        }