Ejemplo n.º 1
0
        /// <summary>
        /// 得到指定部门包含的用户列表
        /// </summary>
        /// <param name="userInfo">当前用户</param>
        /// <param name="departmentId">部门主键</param>
        /// <param name="containChildren">是否包含子部门</param>
        /// <returns>数据表</returns>
        public List <PiUserEntity> GetListByDepartment(UserInfo userInfo, string departmentId, bool containChildren)
        {
            List <PiUserEntity> entityList = new List <PiUserEntity>();
            var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.UserService_GetDepartmentUser);

            ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider =>
            {
                var manager = new PiUserManager(dbProvider, userInfo);
                if (string.IsNullOrEmpty(departmentId))
                {
                    entityList = manager.GetList <PiUserEntity>(new KeyValuePair <string, object>(PiUserTable.FieldDeleteMark, 0), 200, PiUserTable.FieldSortCode);
                }
                else if (containChildren)
                {
                    entityList = manager.GetChildrenUserList(departmentId);
                }
                else
                {
                    entityList = manager.GetListByDepartment(departmentId);
                }
            });
            return(entityList);
        }