예제 #1
0
        /// <summary>
        ///  给用户增加一个菜单,同时增加相应的权限
        /// </summary>
        /// <param name="userid"></param>
        /// <param name="menuid"></param>
        //public void SetMenuShip(string userid, string menuid)
        //{
        //    User2MenuDAL u2md = new User2MenuDAL();

        //    User2Menu model = new User2Menu();
        //    model.ID = Guid.NewGuid();
        //    model.MenuID = menuid;
        //    model.UserID = userid;
        //    model.MenuID = menuid;
        //    u2md.Add(model);

        //    u2md.AcceptAllChange();
        //}

        /// <summary>
        ///  删除用户的一个菜单,同时去除响应的权限
        /// </summary>
        /// <param name="userid"></param>
        /// <param name="menuid"></param>
        //public void DeleteMenuShip(string userid, string menuid)
        //{
        //    User2MenuDAL u2md = new User2MenuDAL();
        //    var menu = u2md.GetAll().FirstOrDefault(o => o.MenuID == menuid && o.UserID == userid);
        //    if (menu != null)
        //    {
        //        u2md.Delete(menu);
        //    }

        //    u2md.AcceptAllChange();
        //}

        /// <summary>
        ///  给用户增加一个菜单,同时增加相应的权限
        /// </summary>
        /// <param name="userid"></param>
        /// <param name="menuid"></param>
        public void SetMenuShip(string roleid, string menuid)
        {
            Menu2RoleDAL m2rdal = new Menu2RoleDAL();
            Menu2Role    model  = new Menu2Role();

            model.ID     = Guid.NewGuid();
            model.MenuID = menuid;
            model.RoleID = roleid;
            m2rdal.Add(model);
            m2rdal.AcceptAllChange();
        }
예제 #2
0
        /// <summary>
        ///  删除角色的一个菜单,同时去除响应的权限
        /// </summary>
        /// <param name="userid"></param>
        /// <param name="menuid"></param>
        public void DeleteMenuShip(string roleid, string menuid)
        {
            Menu2RoleDAL m2rdal = new Menu2RoleDAL();
            var          menu   = m2rdal.GetAll().FirstOrDefault(o => o.MenuID == menuid && o.RoleID == roleid);

            if (menu != null)
            {
                m2rdal.Delete(menu);
            }

            m2rdal.AcceptAllChange();
        }
예제 #3
0
        //private IEnumerable<UserMenuViewModel> GetUserMenu(string userid)
        //{
        //    MenuDAL dal = new MenuDAL();
        //    User2MenuDAL u2mdal = new User2MenuDAL();
        //    var u2mlist = u2mdal.GetAll();
        //    var model = dal.GetAll().Select(t => new UserMenuViewModel()
        //    {
        //        ID = t.ID,
        //        Description = t.Description,
        //        Name = t.Name,
        //        ParentID = t.ParentID,
        //        State = t.State,
        //        Url = t.Url,
        //        IsSelect = u2mlist.Any(o => o.MenuID == t.ID && o.UserID == userid)
        //    });

        //    return model;
        //}
        /// <summary>
        /// 根据角色ID加载系统管理角色菜单
        /// </summary>
        /// <param name="roleid">角色ID</param>
        /// <returns></returns>
        private IEnumerable <UserMenuViewModel> GetUserMenu(string roleid)
        {
            MenuDAL      dal     = new MenuDAL();
            Menu2RoleDAL m2rdal  = new Menu2RoleDAL();
            var          m2rlist = m2rdal.GetAll();
            var          model   = dal.GetAll().Select(t => new UserMenuViewModel()
            {
                ID          = t.ID,
                Description = t.Description,
                Name        = t.Name,
                ParentID    = t.ParentID,
                State       = t.State,
                Url         = t.Url,
                IsSelect    = m2rlist.Any(o => o.MenuID == t.ID && o.RoleID == roleid)
            });

            return(model);
        }
예제 #4
0
        public ActionResult CurrentMenu()
        {
            User2RoleDAL urdal = new User2RoleDAL();
            //根据用户ID查询角色ID
            var          urlist   = urdal.GetUser2RoleByUserId(CurrentUser.Id).Select(s => s.RoleID).ToArray();
            MenuDAL      dal      = new MenuDAL();
            Menu2RoleDAL menurole = new Menu2RoleDAL();

            //User2MenuDAL u2mdal = new User2MenuDAL();
            // var u2mlist = u2mdal.GetAll().Where(o => o.UserID == CurrentUser.Id);

            //查询所有角色菜单
            var menurolelist = menurole.GetAll().Where(s => urlist.Contains(s.RoleID));
            //所有菜单
            var mlist = dal.GetAll().ToList();

            //var currlist = from i in mlist
            //               join j in u2mlist
            //               on i.ID equals j.MenuID
            //               select new MenuViewModel()
            //               {
            //                   ID = i.ID,
            //                   Name = i.Name,
            //                   Url = i.Url,
            //                   ParentID = i.ParentID,
            //                   Icon = i.Icon,
            //                   State = i.State
            //               };
            var currlist = from i in mlist
                           join j in menurolelist
                           on i.ID equals j.MenuID
                           select new MenuViewModel()
            {
                ID       = i.ID,
                Name     = i.Name,
                Url      = i.Url,
                ParentID = i.ParentID,
                Icon     = i.Icon,
                State    = i.State
            };

            if (currlist.Any())
            {
                var list = currlist.Distinct(new Compare <MenuViewModel>(
                                                 delegate(MenuViewModel a, MenuViewModel b)
                {
                    if (null == a || null == b)
                    {
                        return(false);
                    }
                    else
                    {
                        return(a.Url == b.Url);
                    }
                })).OrderBy(t => t.State).ToList();
                return(View(list));
            }
            else
            {
                return(View(currlist));
            }
        }