public IEnumerable <ModuleElement> LoadByModuleId(string loginuser, int id)
        {
            _authoriseService.GetUserAccessed(loginuser);
            if (_authoriseService.ModuleElements.Count == 0) //用户没有任何资源
            {
                return(new List <ModuleElement>());
            }

            var modules = _authoriseService.ModuleElements.Where(u => u.ModuleId == id).OrderBy(u => u.Sort);

            return(modules);
        }
示例#2
0
        /// <summary>
        /// 根据部门ID得到进出库信息
        /// </summary>
        public dynamic Load(string username, int orgId, int pageindex, int pagesize)
        {
            _authoriseService.GetUserAccessed(username);
            if (_authoriseService.Orgs.Count == 0) //用户没有任何可见机构
            {
                return(new
                {
                    total = 0,
                    pageCurrent = pageindex
                });
            }

            var orgIds = _authoriseService.Orgs.Select(u => u.Id).ToArray(); //用户可访问的机构ID

            var orgs = _orgRepository.GetSubWithOwn(orgId)                   //点击的节点与用户可访问的机构合并
                       .Where(u => orgIds.Contains(u.Id))
                       .Select(u => u.Id).ToArray();

            var keys = _authoriseService.Resources.Select(r => r.Key);    //用户可访问的资源的KEY列表

            //由于库存Stock表开始没有设计资源有关的字段,暂时用User字段代替
            Expression <Func <Stock, bool> > exp = u => orgs.Contains(u.OrgId) && (u.User == "" || keys.Contains(u.User));
            var stocks = _repository.Find(pageindex, pagesize, "", exp);
            int total  = _repository.GetCount(exp);


            return(new
            {
                total = total,
                list = stocks,
                pageCurrent = pageindex
            });
        }
示例#3
0
        /// <summary>
        /// 加载一个节点下面的所有
        /// </summary>
        public dynamic Load(string loginuser, int parentId, int pageindex, int pagesize)
        {
            _authoriseService.GetUserAccessed(loginuser);
            if (_authoriseService.Modules.Count == 0) //用户不能访问任何模块
            {
                return(new
                {
                    total = 0,
                    list = new List <Module>(),
                    pageCurrent = pageindex
                });
            }
            var ids   = GetSubIds(parentId);
            var query = _authoriseService.Modules.Where(u => parentId == 0 || ids.Contains(u.ParentId));

            int total   = query.Count();
            var modules = query.OrderBy(u => u.CascadeId).Skip((pageindex - 1) * pagesize).Take(pagesize);

            return(new
            {
                total = total,
                list = modules,
                pageCurrent = pageindex
            });
        }
示例#4
0
        /// <summary>
        /// 加载用户一个节点下面的一个或全部Resources
        /// </summary>
        public dynamic Load(string username, int categoryId, int pageindex, int pagesize)
        {
            _authoriseService.GetUserAccessed(username);
            if (_authoriseService.Resources.Count == 0) //用户没有任何资源
            {
                return(new
                {
                    total = 0,
                    pageCurrent = pageindex
                });
            }
            var subIds    = GetSubOrgIds(categoryId);
            var query     = _authoriseService.Resources.Where(u => categoryId == 0 || subIds.Contains(u.CategoryId));
            var Resources = query.Skip((pageindex - 1) * pagesize).Take(pagesize);
            int total     = query.Count();

            return(new
            {
                total = total,
                list = Resources,
                pageCurrent = pageindex
            });
        }