Exemple #1
0
        /// <summary>
        /// 根据指定的父ID获取其下面一级(仅限一级)的菜单列表
        /// </summary>
        /// <param name="PID">菜单父ID</param>
        public List <MenuInfo> GetMenuById(string Pgid, IsVisable isVisable = IsVisable.是, IsDelete isDelete = IsDelete.否)
        {
            string sql = string.Format(@"Select t.*,case Pgid when '-1' then '0' else Pgid end as parentId From {1} t 
                                         Where  Pgid='{0}' and (IsVisable = {2} or 0 = {2}) and (IsDelete = {3} or 0 = {3}) Order By Seq ", Pgid, tableName, (short)isVisable, (short)isDelete);

            return(GetList(sql, null));
        }
Exemple #2
0
        /// <summary>
        /// 获取第一级的菜单列表
        /// </summary>
        public List <MenuInfo> GetTopMenu(string systemtypeId, IsVisable isVisable = IsVisable.是, IsDelete isDelete = IsDelete.否)
        {
            string condition = !string.IsNullOrEmpty(systemtypeId) ? string.Format("AND SystemtypeId='{0}'", systemtypeId) : "";
            string sql       = string.Format("Select * From {0} Where (IsVisable = {2} or 0 = {2}) and (IsDelete = {3} or 0 = {3}) and Pgid='-1' {1} Order By Seq  ", tableName, condition, (short)isVisable, (short)isDelete);

            return(GetList(sql, null));
        }
Exemple #3
0
        /// <summary>
        /// 获取所有的菜单列表
        /// </summary>
        public List <MenuInfo> GetAllMenu(string systemtypeId, IsVisable isVisable = IsVisable.是, IsDelete isDelete = IsDelete.否)
        {
            string condition = !string.IsNullOrEmpty(systemtypeId) ? string.Format("Where SystemtypeId='{0}' and (IsVisable = {1} or 0 = {1}) and (IsDelete = {2} or 0 = {2})", systemtypeId, (short)isVisable, (short)isDelete) : string.Format("Where (IsVisable = {0} or 0 = {0}) and (IsDelete = {1} or 0 = {1})", (short)isVisable, (short)isDelete);
            string sql       = string.Format("Select * From {0} {1} Order  By Pgid, Seq  ", tableName, condition);

            return(GetList(sql, null));
        }
Exemple #4
0
        private MenuNodeInfo GetNode(string gid, DataTable dt, IsVisable isVisable = IsVisable.是, IsDelete isDelete = IsDelete.否)
        {
            MenuInfo     menuInfo     = this.FindById(gid);
            MenuNodeInfo menuNodeInfo = new MenuNodeInfo(menuInfo);

            string sort = string.Format("{0} {1}", GetSafeFileName(sortField), isDescending ? "DESC" : "ASC");

            DataRow[] dChildRows = dt.Select(string.Format(" Pgid='{0}' and (IsVisable = {1} or 0 = {1}) and (IsDelete = {2} or 0 = {2})", gid, (short)isVisable, (short)isDelete), sort);

            for (int i = 0; i < dChildRows.Length; i++)
            {
                string       childId       = dChildRows[i]["Gid"].ToString();
                MenuNodeInfo childNodeInfo = GetNode(childId, dt, isVisable);
                menuNodeInfo.Children.Add(childNodeInfo);
            }
            return(menuNodeInfo);
        }
Exemple #5
0
        /// <summary>
        /// 获取指定菜单下面的树形列表
        /// </summary>
        /// <param name="mainMenuID">指定菜单ID</param>
        public List <MenuNodeInfo> GetTreeById(string mainMenuId, IsVisable isVisable = IsVisable.是, IsDelete isDelete = IsDelete.否)
        {
            List <MenuNodeInfo> arrReturn = new List <MenuNodeInfo>();
            string sql = string.Format("Select * From {0} Where (IsVisable = {1} or 0 = {1}) Order By Pgid, Seq ", tableName, (short)isVisable);

            DataTable dt   = SqlTable(sql);
            string    sort = string.Format("{0} {1}", GetSafeFileName(sortField), isDescending ? "DESC" : "ASC");

            DataRow[] dataRows = dt.Select(string.Format(" Pgid = '{0}' and (IsVisable = {1} or 0 = {1}) and (IsDelete = {2} or 0 = {2})", mainMenuId, (short)isVisable, (short)isDelete), sort);
            for (int i = 0; i < dataRows.Length; i++)
            {
                string       id           = dataRows[i]["Gid"].ToString();
                MenuNodeInfo menuNodeInfo = GetNode(id, dt);
                arrReturn.Add(menuNodeInfo);
            }

            return(arrReturn);
        }
Exemple #6
0
        /// <summary>
        /// 获取树形结构的菜单列表
        /// </summary>
        public List <MenuNodeInfo> GetTree(string systemtypeId, IsVisable isVisable = IsVisable.是, IsDelete isDelete = IsDelete.否)
        {
            string condition = !string.IsNullOrEmpty(systemtypeId) ? string.Format("AND SystemtypeId='{0}'", systemtypeId) : "";
            List <MenuNodeInfo> arrReturn = new List <MenuNodeInfo>();
            string sql = string.Format("Select * From {0} Where (IsVisable = {2} or 0 = {2}) {1} Order By Pgid, Seq ", tableName, condition, (short)isVisable);

            DataTable dt   = base.SqlTable(sql);
            string    sort = string.Format("{0} {1}", GetSafeFileName(sortField), isDescending ? "DESC" : "ASC");

            DataRow[] dataRows = dt.Select(string.Format(" Pgid = '{0}' ", -1), sort);
            for (int i = 0; i < dataRows.Length; i++)
            {
                string       id           = dataRows[i]["Gid"].ToString();
                MenuNodeInfo menuNodeInfo = GetNode(id, dt);
                arrReturn.Add(menuNodeInfo);
            }

            return(arrReturn);
        }