예제 #1
0
        /// <summary>
        /// 获取所有角色及该用户拥有的角色
        /// </summary>
        /// <param name="sw">参见模型</param>
        /// <returns>参见模型</returns>
        public static IEnumerable <T_SYSSEC_ROLE_USER_Model> getRoleAndUidModel(T_SYSSEC_ROLE_SW sw)
        {
            var       result = new List <T_SYSSEC_ROLE_USER_Model>();
            DataTable dtRole = BaseDT.T_SYSSEC_ROLE.getDT(new T_SYSSEC_ROLE_SW {
                SYSFLAG = ConfigCls.getSystemFlag()
            });
            DataTable dtUR = BaseDT.T_SYSSEC_USER_ROLE.getDT(new T_SYSSEC_USER_ROLE_SW {
                USERID = sw.USERID
            });

            for (int i = 0; i < dtRole.Rows.Count; i++)
            {
                T_SYSSEC_ROLE_USER_Model m = new T_SYSSEC_ROLE_USER_Model();
                m.isCheck = "0";//默认不拥有
                if (dtUR != null)
                {
                    DataRow[] dr = dtUR.Select("ROLEID=" + dtRole.Rows[i]["ROLEID"].ToString());
                    if (dr.Length == 1)
                    {
                        m.isCheck = "1";//拥有角色
                    }
                }
                m.ROLEID   = dtRole.Rows[i]["ROLEID"].ToString();
                m.ROLENAME = dtRole.Rows[i]["ROLENAME"].ToString();
                result.Add(m);
            }
            dtRole.Clear();
            dtRole.Dispose();
            dtUR.Clear();
            dtUR.Dispose();
            return(result);
        }
예제 #2
0
        /// <summary>
        /// 根据查询条件获取某一条用户信息记录,用于修改、删除、用户登录验证
        /// </summary>
        /// <param name="sw">参见模型</param>
        /// <returns>参见模型</returns>
        public static T_SYSSEC_ROLE_Model getModel(T_SYSSEC_ROLE_SW sw)
        {
            DataTable           dt = BaseDT.T_SYSSEC_ROLE.getDT(sw);
            T_SYSSEC_ROLE_Model m  = new T_SYSSEC_ROLE_Model();

            if (dt.Rows.Count > 0)
            {
                int i = 0;
                //数据库表字段
                m.ROLEID    = dt.Rows[i]["ROLEID"].ToString();
                m.ROLENAME  = dt.Rows[i]["ROLENAME"].ToString();
                m.ROLENOTE  = dt.Rows[i]["ROLENOTE"].ToString();
                m.ORDERBY   = dt.Rows[i]["ORDERBY"].ToString();
                m.ROLELEVEL = dt.Rows[i]["ROLELEVEL"].ToString();

                //扩充字段
            }
            return(m);
        }
예제 #3
0
        /// <summary>
        /// 获取数据,获取所有角色
        /// </summary>
        /// <returns>参见模型</returns>
        public static DataTable getDT(T_SYSSEC_ROLE_SW sw)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("SELECT    ROLEID, ROLENAME, ROLENOTE, SYSFLAG,ROLELEVEL, ORDERBY");
            sb.AppendFormat(" FROM      T_SYSSEC_ROLE");
            sb.AppendFormat(" WHERE   1=1");
            if (string.IsNullOrEmpty(sw.ROLEID) == false)
            {
                sb.AppendFormat(" AND ROLEID = '{0}'", ClsSql.EncodeSql(sw.ROLEID));
            }
            if (string.IsNullOrEmpty(sw.SYSFLAG) == false)
            {
                sb.AppendFormat(" AND SYSFLAG = '{0}'", ClsSql.EncodeSql(sw.SYSFLAG));
            }
            //if (string.IsNullOrEmpty(sw.USERID) == false)
            //    sb.AppendFormat(" AND USERID = '{0}'", ClsSql.EncodeSql(sw.USERID));
            string curOrg = SystemCls.getCurUserOrgNo();

            if (PublicCls.OrgIsShi(curOrg))
            {
                sb.AppendFormat(" AND ROLELEVEL>=1");
            }
            else if (PublicCls.OrgIsXian(curOrg))
            {
                sb.AppendFormat(" AND ROLELEVEL>=2");
            }
            else
            {
                sb.AppendFormat(" AND ROLELEVEL>=3");
            }
            sb.AppendFormat(" ORDER BY  ORDERBY ");

            DataSet ds = DataBaseClass.FullDataSet(sb.ToString());

            return(ds.Tables[0]);
        }