/// <summary>
        /// 授权页面列表
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public ActionResult AuthorityAction(int key = 0)
        {
            var menuList = new ManagerEfRepository <WebManageMenus>().GetModel().ToList();

            List <Tuple <string, string> > model = new List <Tuple <string, string> >();

            FillAuthorityAction(model);
            //查询需要配置的菜单
            if (key == 1)
            {
                model = model.Where(i => !menuList.Select(j => j.LinkUrl).Contains(i.Item2)).ToList();
            }
            return(View(model));
        }
        /// <summary>
        /// 填充缺失数据表的菜单
        /// </summary>
        /// <returns></returns>
        public ActionResult DoAuthorityAction()
        {
            var menuList = new ManagerEfRepository <WebManageMenus>().GetModel().ToList();

            List <Tuple <string, string> > model = new List <Tuple <string, string> >();

            FillAuthorityAction(model);
            model = model.Where(i => !menuList.Select(j => j.LinkUrl).Contains(i.Item2)).ToList();
            var menu = menuRepository.Find(i => i.Name == "未分配的授权页面");

            if (menu == null)
            {
                var root = menuRepository.Find(i => !i.ParentID.HasValue);
                if (root == null)
                {
                    throw new ArgumentException("没有根节点!或者根节点的ParentID不是null");
                }
                menu = new WebManageMenus
                {
                    About             = "",
                    IsDisplayMenuTree = false,
                    Level             = 1,
                    LinkUrl           = "",
                    Name       = "未分配的授权页面",
                    Operator   = Lind.DDD.Authorization.CurrentUser.UserName,
                    ParentID   = root.Id,
                    SortNumber = 0
                };
                menuRepository.Insert(menu);
            }
            List <WebManageMenus> newMenuList = new List <WebManageMenus>();

            model.ForEach(i =>
            {
                newMenuList.Add(new WebManageMenus
                {
                    About             = "",
                    IsDisplayMenuTree = false,
                    Level             = menu.Level + 1,
                    LinkUrl           = i.Item2,
                    Name       = i.Item1,
                    Operator   = Lind.DDD.Authorization.CurrentUser.UserName,
                    ParentID   = menu.Id,
                    SortNumber = 0
                });
            });
            menuRepository.Insert(newMenuList);
            return(RedirectToAction("AuthorityAction", new { key = 1 }));
        }
 /// <summary>
 /// 初始化
 /// </summary>
 /// <param name="description">功能说明</param>
 /// <param name="param">说明参数,可以为空</param>
 public ManagerActionLoggerAttribute(string description, params string[] param)
     : base((e) =>
 {
     int userid;
     int.TryParse(CurrentUser.UserID, out userid);
     var db         = new ManagerContext();
     var repository = new ManagerEfRepository <WebLogger>();
     repository.SetDataContext(db);
     var webLogger = new WebLogger
     {
         ActionName     = e.ActionName,
         ControllerName = e.ControllerName,
         Description    = e.Descrption,
         UserId         = userid,
         UserName       = CurrentUser.UserName,
         RequestParams  = e.RequestParams,
         Authority      = e.Authority,
     };
     repository.Insert(webLogger);
 }, description, param)
 {
     _description = description;
 }
Пример #4
0
        static WebRoleController()
        {
            var repository = new ManagerEfRepository <WebCommonAreas>();

            staticAreaList = repository.GetModel().ToList();
        }