예제 #1
0
        /// <summary>
        /// 获取公司用户
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <returns>用户列表</returns>
        public DataTable GetCompanyUser(BaseUserInfo userInfo)
        {
            DataTable result = null;

            var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod());

            ServiceUtil.ProcessUserCenterReadDb(userInfo, parameter, (dbHelper) =>
            {
                var userManager = new BaseUserManager(dbHelper, userInfo);

                string sqlQuery = "SELECT " + BaseUserEntity.FieldId
                                  + "," + BaseUserEntity.FieldRealName
                                  + "," + BaseUserEntity.FieldCompanyName
                                  + "," + BaseUserEntity.FieldDepartmentName
                                  + "  FROM " + BaseUserEntity.TableName
                                  + " WHERE " + BaseUserEntity.FieldCompanyName + " = '" + userInfo.CompanyName + "'"
                                  + " AND " + BaseUserEntity.FieldDeletionStateCode + " = 0 "
                                  + " AND " + BaseUserEntity.FieldEnabled + " = 1  "
                                  + " AND " + BaseUserEntity.FieldIsVisible + " = 1 "
                                  + " ORDER BY " + BaseUserEntity.FieldSortCode;
                result           = userManager.Fill(sqlQuery);
                result.TableName = BaseUserEntity.TableName;
            });

            return(result);
        }
예제 #2
0
        /// <summary>
        /// 按角色获取用户列表
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="roleId">角色主键</param>
        /// <returns>数据表</returns>
        public string[] GetUserByRole(BaseUserInfo userInfo, string roleId)
        {
            string[] result = null;

            var dt = new DataTable(BaseUserEntity.TableName);

            var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod());

            ServiceUtil.ProcessUserCenterReadDb(userInfo, parameter, (dbHelper) =>
            {
                var userManager = new BaseUserManager(dbHelper, userInfo);
                string sqlQuery = "SELECT " + BaseUserEntity.FieldId + "," + BaseUserEntity.FieldRealName
                                  + " FROM " + BaseUserEntity.TableName;
                sqlQuery += " WHERE (" + BaseUserEntity.TableName + "." + BaseUserEntity.FieldDeletionStateCode + " = 0 "
                            + " AND " + BaseUserEntity.TableName + "." + BaseUserEntity.FieldEnabled + " = 1  "
                            + " AND " + BaseUserEntity.TableName + "." + BaseUserEntity.FieldIsVisible + " = 1 ) ";

                if (!String.IsNullOrEmpty(roleId))
                {
                    // 从用户读取用户
                    sqlQuery += " AND " + BaseUserEntity.FieldId + " IN ("
                                + "SELECT " + BaseUserRoleEntity.FieldUserId
                                + "   FROM " + BaseUserRoleEntity.TableName
                                + "  WHERE " + BaseUserRoleEntity.TableName + "." + BaseUserRoleEntity.FieldDeletionStateCode + " = 0  "
                                + "       AND " + BaseUserRoleEntity.TableName + "." + BaseUserRoleEntity.FieldEnabled + " = 1  "
                                + "       AND " + BaseUserRoleEntity.TableName + "." + BaseUserRoleEntity.FieldRoleId + " = '" + roleId + "') ";
                }
                sqlQuery += " ORDER BY " + BaseUserEntity.TableName + "." + BaseUserEntity.FieldSortCode;

                dt           = userManager.Fill(sqlQuery);
                dt.TableName = BaseUserEntity.TableName;

                List <string> list = new List <string>();
                foreach (DataRow dr in dt.Rows)
                {
                    list.Add(dr[BaseUserEntity.FieldId].ToString() + "=" + dr[BaseUserEntity.FieldRealName].ToString());
                }
                result = list.ToArray();
            });

            return(result);
        }
예제 #3
0
        /// <summary>
        /// 按角色获取用户列表
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="roleId">角色主键</param>
        /// <returns>数据表</returns>
        public DataTable GetUserDTByRole(BaseUserInfo userInfo, string roleId)
        {
            // 写入调试信息
            #if (DEBUG)
            int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod());
            #endif

            // 加强安全验证防止未授权匿名调用
            #if (!DEBUG)
            LogOnService.UserIsLogOn(userInfo);
            #endif

            DataTable dataTable = new DataTable(BaseUserEntity.TableName);
            using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType))
            {
                try
                {
                    dbHelper.Open(UserCenterDbConnection);
                    BaseUserManager userManager = new BaseUserManager(dbHelper, userInfo);

                    string sqlQuery = " SELECT " + BaseUserEntity.TableName + "." + BaseUserEntity.FieldId
                                      + "," + BaseUserEntity.TableName + "." + BaseUserEntity.FieldRealName
                                      + "," + BaseUserEntity.TableName + "." + BaseUserEntity.FieldUserOnLine
                                      + " FROM " + BaseUserEntity.TableName;

                    sqlQuery += " WHERE (" + BaseUserEntity.TableName + "." + BaseUserEntity.FieldDeletionStateCode + " = 0 "
                                + " AND " + BaseUserEntity.TableName + "." + BaseUserEntity.FieldEnabled + " = 1  "
                                + " AND " + BaseUserEntity.TableName + "." + BaseUserEntity.FieldIsVisible + " = 1 ) ";

                    if (!String.IsNullOrEmpty(roleId))
                    {
                        // 从用户默认橘色
                        sqlQuery += " AND (" + BaseUserEntity.TableName + "." + BaseUserEntity.FieldRoleId + " = '" + roleId + "') ";
                        // 从兼职表读取用户
                        sqlQuery += " OR " + BaseUserEntity.FieldId + " IN ("
                                    + " SELECT " + BaseUserRoleEntity.FieldUserId
                                    + "   FROM " + BaseUserRoleEntity.TableName
                                    + "  WHERE " + BaseUserRoleEntity.TableName + "." + BaseUserRoleEntity.FieldDeletionStateCode + " = 0  "
                                    + "       AND " + BaseUserRoleEntity.TableName + "." + BaseUserRoleEntity.FieldEnabled + " = 1  "
                                    + "       AND " + BaseUserRoleEntity.TableName + "." + BaseUserRoleEntity.FieldRoleId + " = '" + roleId + "') ";
                    }
                    sqlQuery += " ORDER BY " + BaseUserEntity.TableName + "." + BaseUserEntity.FieldSortCode;

                    dataTable           = userManager.Fill(sqlQuery);
                    dataTable.TableName = BaseUserEntity.TableName;
                    BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.MessageService_GetUserDTByDepartment, MethodBase.GetCurrentMethod());
                }
                catch (Exception ex)
                {
                    BaseExceptionManager.LogException(dbHelper, userInfo, ex);
                    throw ex;
                }
                finally
                {
                    dbHelper.Close();
                }
            }

            // 写入调试信息
            #if (DEBUG)
            BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart);
            #endif

            return(dataTable);
        }