/// <summary> /// /// </summary> /// <param name="mItemParentId"></param> /// <param name="menuType"></param> /// <param name="showMode"></param> /// <returns></returns> public static IEnumerable <AdvMenuItem> GetChildMenuItemsByParentId(int mItemParentId, EMenuType menuType, EMenuItemShowMode showMode) { return(SQLDataAccess.ExecuteReadIEnumerable <AdvMenuItem>( string.Format("SELECT MenuItemID, MenuItemParentID, MenuItemName, MenuItemIcon, MenuItemUrlPath, MenuItemUrlType, SortOrder, ShowMode, Enabled, Blank, NoFollow, (SELECT Count(MenuItemID) FROM {0} AS c WHERE c.MenuItemParentID = p.MenuItemID) as Child_Count FROM {0} as p WHERE {1} AND (ShowMode = 0 OR ShowMode = @ShowMode) AND Enabled = 1 order by [SortOrder]", MenuTypeTables[menuType], mItemParentId == 0 ? "[MenuItemParentID] is Null" : "[MenuItemParentID] = " + mItemParentId), CommandType.Text, (reader) => { var mItem = GetMenuItemFromReader(reader); mItem.HasChild = SQLDataHelper.GetInt(reader, "Child_Count") > 0; return mItem; }, new SqlParameter("@showMode", (int)showMode))); }
/// <summary> /// /// </summary> /// <param name="mItemParentId"></param> /// <param name="menuType"></param> /// <param name="showMode"></param> /// <returns></returns> public static IEnumerable<AdvMenuItem> GetEnabledChildMenuItemsByParentId(int mItemParentId, EMenuType menuType, EMenuItemShowMode showMode) { return SQLDataAccess.ExecuteReadIEnumerable<AdvMenuItem>( string.Format("SELECT MenuItemID, MenuItemParentID, MenuItemName, MenuItemIcon, MenuItemUrlPath, MenuItemUrlType, SortOrder, ShowMode, Enabled, Blank, NoFollow, (SELECT Count(MenuItemID) FROM {0} AS c WHERE c.MenuItemParentID = p.MenuItemID) as Child_Count FROM {0} as p WHERE {1} AND (ShowMode = 0 OR ShowMode = @ShowMode) AND Enabled = 1 order by [SortOrder] ", MenuTypeTables[menuType], mItemParentId == 0 ? "[MenuItemParentID] is Null" : "[MenuItemParentID] = " + mItemParentId), CommandType.Text, (reader) => { var mItem = GetMenuItemFromReader(reader); mItem.HasChild = SQLDataHelper.GetInt(reader, "Child_Count") > 0; return mItem; }, new SqlParameter("@showMode", (int)showMode)); }