Exemplo n.º 1
0
        public List <UserActionViewModel> GetUserActionList(int userId)
        {
            List <UserActionViewModel> userActions = new List <UserActionViewModel>();
            var actions       = SysActionDao.GetList(x => true).OrderBy(x => x.SortCode).ToList();
            var myUserActions = GetList(x => x.UserId == userId).ToList();

            foreach (var item in actions)
            {
                UserActionViewModel viewModel = new UserActionViewModel();
                viewModel.Id       = item.Id;
                viewModel.ParentId = item.ParentId;
                viewModel.Code     = item.Code;
                viewModel.Name     = item.Name;
                var myUserAction = myUserActions.Where(x => x.ActionId == item.Id).FirstOrDefault();
                if (myUserAction != null)
                {
                    if (myUserAction.HasPermisssin)
                    {
                        viewModel.Status = 1;
                    }
                    else
                    {
                        viewModel.Status = 2;
                    }
                }
                userActions.Add(viewModel);
            }
            return(userActions);
        }
Exemplo n.º 2
0
        public List <DtreeData> GetDtree(int roleId)
        {
            var sysActions        = dao.GetList(x => true).ToList();
            List <DtreeData> list = new List <DtreeData>();

            foreach (var item in sysActions)
            {
                DtreeData dtreeData = new DtreeData();
                dtreeData.Id       = item.Id.ToString();
                dtreeData.Title    = item.Name;
                dtreeData.ParentId = item.ParentId.ToString();
                var role = item.SysRoles.Where(x => x.Id == roleId).FirstOrDefault();
                if (role != null)
                {
                    dtreeData.CheckArr = "1";
                }
                list.Add(dtreeData);
            }

            List <DtreeData> dtreeDatas         = new List <DtreeData>();
            Dictionary <string, DtreeData> dict = new Dictionary <string, DtreeData>();

            foreach (var item in list)
            {
                dict.Add(item.Id.ToString(), item);
                if (item.ParentId == "0")
                {
                    dtreeDatas.Add(item);
                }
            }

            foreach (var item in list)
            {
                if (item.ParentId != "0")
                {
                    dict[item.ParentId].Children.Add(item);
                }
            }

            return(dtreeDatas);
        }
Exemplo n.º 3
0
        public void Add(int id, List <DtreeResponse> dtrees)
        {
            List <int> actionIds = new List <int>();

            foreach (var item in dtrees)
            {
                actionIds.Add(Convert.ToInt32(item.NodeId));
            }
            var role    = dao.GetList(x => x.Id == id).FirstOrDefault();
            var actions = SysActionDao.GetList(x => actionIds.Contains(x.Id)).ToList();

            //清空权限关系
            role.SysActions.Clear();
            foreach (var item in actions)
            {
                role.SysActions.Add(item);
            }
            dao.Update(role);
            dao.SaveChanges();
        }