public JsonResult GetMenuMainData(MenuMainViewModel dataModel) { MSGReturnModel result = new MSGReturnModel(); result.RETURN_FLAG = false; result.DESCRIPTION = Message_Type.not_Find_Any.GetDescription(); try { var queryResult = SystemRepository.getMenuMain(dataModel); result.RETURN_FLAG = queryResult.Item1; Cache.Invalidate(CacheList.MenuMainDbfileData); //清除 Cache.Set(CacheList.MenuMainDbfileData, queryResult.Item2); //把資料存到 Cache if (!result.RETURN_FLAG) { result.DESCRIPTION = Message_Type.not_Find_Any.GetDescription(); } } catch (Exception ex) { result.RETURN_FLAG = false; result.DESCRIPTION = ex.Message; } return(Json(result)); }
public JsonResult SaveMenuMain(string actionType, MenuMainViewModel dataModel) { MSGReturnModel result = new MSGReturnModel(); result.RETURN_FLAG = false; result.DESCRIPTION = Message_Type.parameter_Error.GetDescription(); try { MSGReturnModel resultSave = SystemRepository.saveMenuMain(actionType, dataModel); result.RETURN_FLAG = resultSave.RETURN_FLAG; result.DESCRIPTION = Message_Type.save_Success.GetDescription(); if (!result.RETURN_FLAG) { result.DESCRIPTION = Message_Type.save_Fail.GetDescription() + " " + resultSave.DESCRIPTION; } } catch (Exception ex) { result.RETURN_FLAG = false; result.DESCRIPTION = ex.Message; } return(Json(result)); }
public void LoadMenu(string userName, string userId) { StringBuilder str = new StringBuilder(); string Dashboardurl = Page.ResolveClientUrl("~/Modules/Home"); str.Append(Environment.NewLine); str.Append(String.Format(@"<li class=""sidebar-toggler-wrapper hide""><div class=""sidebar-toggler""><span></span></div></li> <li class=""sidebar-user-panel""><div class=""user-panel""><div class=""pull-left image""><img src =""/Content/assets/img/images.png"" class=""img-circle user-img-circle"" alt=""User Image""/></div> <div class=""pull-left info""><p>{0}</p> <a href = ""#"" ><i class=""fa fa-circle user-online""></i><span class=""txtOnline""> Online</span></a> </div></div></li> <li class=""nav- item""><a runat=""server"" href=""{1}"" class=""nav-link""><i class=""material-icons"">dashboard</i><span class=""title"">Dashboard</span></a> </li>" , userName.Substring(0, 5), Dashboardurl)); var usersWithRoles = (from user in db.Users select new { UserId = user.Id, Username = user.UserName, Email = user.Email, RoleId = (from userRole in user.Roles join role in db.Roles on userRole.RoleId equals role.Id select role.Id).ToList() }).Where(x => x.UserId == userId).ToList().Select(p => new Users_in_Role_ViewModel() { UserId = p.UserId, Username = p.Username, Email = p.Email, Role = string.Join(",", p.RoleId) }); string url = ""; IList <MenuViewModel> MenuList = new List <MenuViewModel>(); IList <MenuMainViewModel> MainMenuList = new List <MenuMainViewModel>(); foreach (var item in usersWithRoles) { var menu = unitOfWork.MenuInRole.Get(x => x.RoleId.ToString() == item.Role, includeProperties: "MenuSub").OrderBy(x => x.MenuSub.MenuMain.PRIORITY); if (menu != null) { // var mainmenu = menu.Where(x => x.MenuSub.MenuMain) foreach (var item1 in menu) { MenuMainViewModel AllMainMenus = new MenuMainViewModel(); MenuViewModel Meuns = new MenuViewModel(); if (MainMenuList.Count() == 0) { AllMainMenus.Id = item1.MenuSub.MenuMainId; AllMainMenus.MenuName = item1.MenuSub.MenuMain.Name; AllMainMenus.Icons = item1.MenuSub.MenuMain.ICONS; MainMenuList.Add(AllMainMenus); } else if (MainMenuList.All(x => x.Id != item1.MenuSub.MenuMainId)) { AllMainMenus.Id = item1.MenuSub.MenuMainId; AllMainMenus.MenuName = item1.MenuSub.MenuMain.Name; AllMainMenus.Icons = item1.MenuSub.MenuMain.ICONS; MainMenuList.Add(AllMainMenus); } Meuns.RoleId = item1.RoleId.ToString(); Meuns.MenuId = item1.MenuSubId; Meuns.MenuTitle = item1.MenuSub.MenuTitle; url = Page.ResolveClientUrl("" + item1.MenuSub.URL + ""); Meuns.URL = url; Meuns.MAIN_MENU = item1.MenuSub.MenuMain.Name; Meuns.ICONS = item1.MenuSub.MenuMain.ICONS; Meuns.MainMenuId = item1.MenuSub.MenuMainId; MenuList.Add(Meuns); } } if (MainMenuList != null) { foreach (var m in MainMenuList) { str.Append(Environment.NewLine); str.Append(String.Format(@"<li class=""nav-item""><a href=""#"" class=""nav-link nav-toggle""> <i class=""material-icons""> {0}</i><span class=""title"">{1}</span><span class=""arrow""></span></a>" + Environment.NewLine, m.Icons, m.MenuName)); str.Append(String.Format(@"<ul class=""sub-menu"">" + Environment.NewLine)); foreach (var l in MenuList.Where(x => x.MainMenuId == m.Id)) { str.Append(String.Format(@"<li><a runat=""server"" href=""{0}"" class=""nav-link""><span class=""title"">{1}</span></a></li>" + Environment.NewLine, l.URL, l.MenuTitle)); } str.Append("</ul>" + Environment.NewLine); str.Append("</li>" + Environment.NewLine); } MenuPanel.InnerHtml = str.ToString(); } } }