/// <summary>
        /// 加载其它数据
        /// </summary>
        /// <param name="authoritys">权限数据</param>
        /// <param name="query">筛选条件</param>
        /// <returns></returns>
        List <Authority> LoadOtherObjectData(IEnumerable <Authority> authoritys, IQuery query)
        {
            if (authoritys.IsNullOrEmpty())
            {
                return(new List <Authority>(0));
            }
            if (query == null)
            {
                return(authoritys.ToList());
            }

            #region 权限分组

            List <AuthorityGroup> groupList = null;
            if (query.AllowLoad <Authority>(c => c.Group))
            {
                var groupIds = authoritys.Select(c => c.Group?.SysNo ?? 0).Distinct().ToList();
                groupList = authorityGroupService.GetAuthorityGroupList(groupIds);
            }

            #endregion

            foreach (var auth in authoritys)
            {
                if (auth == null)
                {
                    continue;
                }
                if (!groupList.IsNullOrEmpty())
                {
                    auth.SetGroup(groupList.FirstOrDefault(c => c.SysNo == auth.Group?.SysNo));
                }
            }

            return(authoritys.ToList());
        }
示例#2
0
        /// <summary>
        /// 数据列表加载额外的对象数据
        /// </summary>
        /// <param name="datas">数据信息</param>
        /// <param name="query">查询对象</param>
        static List <ErrorLog> LoadOtherObjectData(IEnumerable <ErrorLog> datas, IQuery query)
        {
            #region 参数判断

            if (datas.IsNullOrEmpty())
            {
                return(new List <ErrorLog>(0));
            }
            if (query == null || query.LoadPropertys == null || query.LoadPropertys.Count <= 0)
            {
                return(datas.ToList());
            }

            #endregion

            #region  务信息

            List <ServerNode> serverList = null;
            if (query.AllowLoad <ErrorLog>(c => c.Server))
            {
                List <string> serverIds = datas.Select(c => c.Server?.Id).Distinct().ToList();
                serverList = ServerNodeDomainService.GetServerNodeList(serverIds);
            }

            #endregion

            #region 工作信息

            List <Job> jobList = null;
            if (query.AllowLoad <ErrorLog>(c => c.Job))
            {
                List <string> jobIds = datas.Select(c => c.Job?.Id).Distinct().ToList();
                jobList = JobDomainService.GetJobList(jobIds);
            }

            #endregion

            #region 执行计划

            List <Trigger> triggerList = null;
            if (query.AllowLoad <ErrorLog>(c => c.Trigger))
            {
                List <string> triggerIds = datas.Select(c => c.Trigger?.Id).Distinct().ToList();
                triggerList = TriggerDomainService.GetTriggerList(triggerIds);
            }

            #endregion

            foreach (var log in datas)
            {
                if (!serverList.IsNullOrEmpty())
                {
                    log.SetServer(serverList.FirstOrDefault(c => c.Id == log.Server?.Id));
                }
                if (!jobList.IsNullOrEmpty())
                {
                    log.SetJob(jobList.FirstOrDefault(c => c.Id == log.Job?.Id));
                }
                if (!triggerList.IsNullOrEmpty())
                {
                    log.SetTrigger(triggerList.FirstOrDefault(c => c.Id == log.Trigger?.Id));
                }
            }
            return(datas.ToList());
        }