/// <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()); }
/// <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()); }