public ActionResult AddMenuPage(int id = 0) { T_SysMenus model = new T_SysMenus(); if (id == 0) { model.Id = 0; model.MenuName = "根节点"; } else { model = SysMenusService.GetModel(x => x.ParentId == id).FirstOrDefault(); } return(View(model)); }
public ActionResult InitMenu() { var nodes = MvcSiteMapProvider.SiteMaps.Current.FindSiteMapNodeFromKey("root").ChildNodes; foreach (var node in nodes) { if (!node.Clickable) { T_SysMenus menu = new T_SysMenus(); menu.Guid = Guid.NewGuid().ToString("N"); menu.MenuName = node.Title; menu.MenuUrl = ""; menu.ParentId = 0; menu.CreateTime = DateTime.Now; menu.CreateUser = 1; menu.IconFont = (string)node.Attributes["iconfont"]; var result = SysMenuService.AddEntity(menu); if (result.IsSuccess) { T_SysMenus addMenu = JsonConvert.DeserializeObject <T_SysMenus>(result.Data); var childNodes = node.ChildNodes; List <T_SysMenus> menuList = new List <T_SysMenus>(); foreach (var childNode in childNodes) { T_SysMenus menuNew = new T_SysMenus(); menuNew.Guid = Guid.NewGuid().ToString("N"); menuNew.MenuName = childNode.Title; menuNew.MenuUrl = "/" + childNode.Controller + "/" + childNode.Action; menuNew.ParentId = addMenu.Id; menuNew.IsLeaf = true; menuNew.CreateTime = DateTime.Now; menuNew.CreateUser = 1; menuList.Add(menuNew); } var resultNew = SysMenuService.AddRange(menuList); } } } return(null); }
public ActionResult AddMenuNode(SysMenu sysMenu) { var result = SysMenusService.IsLackRuquiredMenuInfo(sysMenu); if (!result.IsSuccess) { return(Json(result)); } result = SysMenusService.IsRepeatedMenuNameOrUrl(sysMenu.MenuName, sysMenu.MenuUrl); if (!result.IsSuccess) { return(Json(result)); } T_SysMenus menu = Mapper.Map <T_SysMenus>(sysMenu); menu.Guid = Guid.NewGuid().ToString("N"); menu.IsDeleted = false; menu.CreateUser = UserId; menu.CreateTime = DateTime.Now; result = SysMenusService.Add(menu); return(Json(result)); }
public ActionResult Test() { #region 初始化菜单 SysMenuService.Clear(typeof(T_SysMenus).Name); var nodes = MvcSiteMapProvider.SiteMaps.Current.FindSiteMapNodeFromKey("root").ChildNodes; foreach (var node in nodes) { if (!node.Clickable) { T_SysMenus menu = new T_SysMenus(); menu.Guid = Guid.NewGuid().ToString("N"); menu.MenuName = node.Title; menu.MenuUrl = ""; menu.ParentId = 0; menu.CreateTime = DateTime.Now; menu.CreateUser = 1; menu.IconFont = (string)node.Attributes["iconfont"]; var result = SysMenuService.AddEntity(menu); if (result.IsSuccess) { T_SysMenus addMenu = JsonConvert.DeserializeObject <T_SysMenus>(result.Data); var childNodes = node.ChildNodes; List <T_SysMenus> menuList = new List <T_SysMenus>(); foreach (var childNode in childNodes) { T_SysMenus menuNew = new T_SysMenus(); menuNew.Guid = Guid.NewGuid().ToString("N"); menuNew.MenuName = childNode.Title; menuNew.MenuUrl = "/" + childNode.Controller + "/" + childNode.Action; menuNew.ParentId = addMenu.Id; menuNew.IsLeaf = true; menuNew.CreateTime = DateTime.Now; menuNew.CreateUser = 1; menuList.Add(menuNew); } var resultNew = SysMenuService.AddRange(menuList); } } } #endregion #region 初始化权限操作列表 List <T_SysOperations> list = new List <T_SysOperations>(); //创建控制器类型列表 List <Type> controllerTypes = new List <Type>(); //加载程序集 var assembly = Assembly.Load("AdminWeb"); controllerTypes.AddRange(assembly.GetTypes().Where(type => typeof(Controller).IsAssignableFrom(type) & type.IsDefined(typeof(DescriptionAttribute)))); foreach (var controller in controllerTypes) { //var controller = assembly.GetTypes().Where(type => type.Name == itemType.Name).FirstOrDefault(); //获取控制器的标记属性 var typeName = ((DescriptionAttribute)controller.GetCustomAttributes(typeof(DescriptionAttribute)).FirstOrDefault()).Name; //获取所有的标记方法 var actions = controller.GetMethods().Where(method => method.IsDefined(typeof(DescriptionAttribute))); foreach (var action in actions) { var attr = ((DescriptionAttribute)action.GetCustomAttributes(typeof(DescriptionAttribute)).FirstOrDefault()).Name; var isNotShow = ((DescriptionAttribute)action.GetCustomAttributes(typeof(DescriptionAttribute)).FirstOrDefault()).IsNotShow; T_SysOperations model = new T_SysOperations(); model.ContronllerName = controller.Name.Replace("Controller", ""); model.ActionName = action.Name; model.TypeName = typeName; model.OperateName = attr; model.Guid = Guid.NewGuid().ToString("N"); model.CreateUser = 1; model.CreateTime = DateTime.Now; if (isNotShow) { model.IsNotShow = true; } list.Add(model); } } #endregion InitDataService.InitData(list); return(View()); }
public ActionResult SysMenusSave(T_SysMenus menu, string operatype) { KeyValueModel ret = base.error_r; try { using (WechatEntities context = new WechatEntities()) { switch (operatype) { #region 新增 case "add": if (context.T_SysMenus.Any(m => m.MenuId == menu.MenuId)) { ret.Value = "已经存在菜单代码为" + menu.MenuId + "的菜单"; } else { switch (menu.MenuLevel) { case 1: case 2: var cnt = context.T_SysMenus.Where(m => m.MenuLevel == menu.MenuLevel && m.IsDeleted == false); menu.CreateTime = DateTime.Now; context.T_SysMenus.Add(menu); context.SaveChanges(); ret = base.success_r; break; } } break; #endregion #region 修改 case "modify": T_SysMenus _menu = context.T_SysMenus.Where(m => m.MenuId == menu.MenuId && m.IsDeleted == false).FirstOrDefault(); if (_menu != null) { _menu.ModifyTime = DateTime.Now; _menu.SortNum = menu.SortNum; _menu.MenuName = menu.MenuName; _menu.ParentId = menu.ParentId; _menu.ParentMenuName = menu.ParentMenuName; _menu.Islink = menu.Islink; _menu.MenuIcon = menu.MenuIcon; _menu.MenuUrl = menu.MenuUrl; context.SaveChanges(); ret = base.success_r; } else { ret.Value = "未能找到此菜单,可能已被删除!"; } break; #endregion #region 除 case "delete": T_SysMenus MN = context.T_SysMenus.Where(m => m.MenuId == menu.MenuId && m.IsDeleted == false).FirstOrDefault(); if (MN != null) { MN.IsDeleted = true; MN.ModifyTime = DateTime.Now; context.SaveChanges(); ret = base.success_r; } break; #endregion } } } catch (Exception ex) { ret.Value = ex.Message; } return(Json(ret, JsonRequestBehavior.AllowGet)); }