Exemplo n.º 1
0
        public static MvcHtmlString AppMenu(this HtmlHelper helper, int siteID
                                            , string menuName, string groupName = "ul", string itemName = "li"
                                            , string cssMenu = "", string cssGroupSelected = "", string cssItemSelected = "")
        {
            AppMenuModel appMenu = null;

            // Зарежда менюто от базата
            using (AppMenuContext context = new AppMenuContext())
            {
                appMenu = context.GetAppMenu(siteID, menuName);
            }

            // Генерира елементите на менюто
            AppMenuItems items = new AppMenuItems(helper);

            items.AppMenu          = appMenu;
            items.GroupName        = groupName;
            items.ItemName         = itemName;
            items.CSSMenu          = cssMenu;
            items.CSSGroupSelected = cssGroupSelected;
            items.CSSItemSelected  = cssItemSelected;

            string menu = items.Generate();

            return(new MvcHtmlString(menu));
        }
Exemplo n.º 2
0
        public static MvcHtmlString SortMenu(this HtmlHelper helper, int siteID, string menuName,
                                             string groupName = "ol", string itemName = "li",
                                             string cssMenu   = "", string cssItem    = "", string itemFormat = "")
        {
            AppMenuModel appMenu = null;

            // Зарежда менюто от базата
            using (AppMenuContext context = new AppMenuContext())
            {
                appMenu = context.GetAppMenu(siteID, menuName);
            }

            // Генерира елементите на менюто
            AppMenuItems items = new AppMenuItems(helper);

            items.AppMenu    = appMenu;
            items.GroupName  = groupName;
            items.ItemName   = itemName;
            items.CSSMenu    = cssMenu;
            items.CSSItem    = cssItem;
            items.IsItemLink = false;
            items.IsItemID   = true;
            items.ItemFormat = itemFormat;

            string menu = items.Generate();

            return(new MvcHtmlString(menu));
        }
 public ApiResponse GetAppMenu(string itemedStrs)
 {
     if (HttpContext.Session.Get("functions") != null)
     {
         var functions                 = (List <Function>)SerializeHelper.DeserializeWithBinary(HttpContext.Session.Get("functions"));
         var codes                     = functions.Select(o => o.Code).ToList();
         var appmenus                  = _context.AppMenu.Where(o => codes.Contains(o.Code)).ToList();
         var appmenuParentIds          = appmenus.Select(o => o.ParentId).Distinct().Where(o => o > 0).ToList();
         List <AppMenuModel> _appmenus = new List <AppMenuModel>();
         foreach (var appmenuParentId in appmenuParentIds)
         {
             var parent = _context.AppMenu.FirstOrDefault(o => o.Id == appmenuParentId);
             if (parent != null)
             {
                 AppMenuModel _parent = new AppMenuModel()
                 {
                     Id   = parent.Id,
                     Name = parent.Name
                 };
                 if (itemedStrs.Contains(_parent.Id.ToString()))
                 {
                     _parent.IsItemed = true;
                 }
                 var childrens = appmenus.Where(o => o.ParentId == appmenuParentId).ToList();
                 _parent.AppMenus = childrens.Select(o => new AppMenuChildren()
                 {
                     Name  = o.Name,
                     Route = o.Route,
                     Order = o.Order
                 }).ToList();
                 _appmenus.Add(_parent);
             }
         }
         if (HttpContext.Session.Get("account") == null)
         {
             return(new ApiResponse()
             {
                 code = -1
             });
         }
         var account = (AccountViewModel)SerializeHelper.DeserializeWithBinary(HttpContext.Session.Get("account"));
         return(new ApiResponse()
         {
             code = 0, data = _appmenus, message = account.Name
         });
     }
     else
     {
         return(new ApiResponse()
         {
             code = -1
         });
     }
 }