Exemplo n.º 1
0
        /// <summary>
        /// 加载选中的模块(用户和角色)
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <returns>选中的模块</returns>
        public List <Module> LoadSelectModules(UserInfo userInfo)
        {
            List <RoleUserInfo> roleUserInfos = RoleUserInfoRepository
                                                .LoadRoleUserInfo(r => r.UserInfoID == userInfo.ID);

            if (roleUserInfos.Any(r => r.RoleID == 1))
            {
                return(CurrentRepository.LoadEntities(m => true).ToList());
            }
            List <Module> modules = ModuleUserInfoRepository
                                    .LoadModule(userInfo.ID);

            foreach (Role role in roleUserInfos.Select(r => r.Role))
            {
                modules.AddRange(role.RoleModules.Select(r => r.Module));
            }
            modules.Sort();
            return(modules);
        }