Esempio n. 1
0
        /// <summary>
        /// 根据查询条件生成查询对象
        /// </summary>
        /// <param name="filter">查询条件</param>
        /// <returns></returns>
        IQuery CreateQueryObject(JobServerHostFilterDto filter)
        {
            if (filter == null)
            {
                return(null);
            }
            IQuery query = QueryFactory.Create(filter);

            if (!filter.Servers.IsNullOrEmpty())
            {
                query.In <JobServerHostQuery>(c => c.Server, filter.Servers);
            }
            if (!filter.Jobs.IsNullOrEmpty())
            {
                query.In <JobServerHostQuery>(c => c.Job, filter.Jobs);
            }
            if (filter.RunStatus.HasValue)
            {
                query.Equal <JobServerHostQuery>(c => c.RunStatus, filter.RunStatus.Value);
            }
            if (!filter.ServerKey.IsNullOrEmpty())
            {
                IQuery serverQuery = QueryFactory.Create <ServerNodeQuery>();
                serverQuery.And <ServerNodeQuery>(QueryOperator.OR, CriteriaOperator.Like, filter.ServerKey, null, c => c.Name, c => c.Host);
                serverQuery.AddQueryFields <ServerNodeQuery>(c => c.Id);
                query.And <JobServerHostQuery>(c => c.Server, CriteriaOperator.In, serverQuery);
            }
            if (!filter.JobKey.IsNullOrEmpty())
            {
                IQuery jobQuery = QueryFactory.Create <JobQuery>();
                jobQuery.And <JobQuery>(QueryOperator.OR, CriteriaOperator.Like, filter.JobKey, null, c => c.Name);
                jobQuery.AddQueryFields <JobQuery>(c => c.Id);
                query.And <JobServerHostQuery>(c => c.Job, CriteriaOperator.In, jobQuery);
            }
            return(query);
        }
Esempio n. 2
0
        /// <summary>
        /// 获取工作承载节点列表
        /// </summary>
        /// <param name="filter">查询条件</param>
        /// <returns></returns>
        public List <JobServerHostDto> GetJobServerHostList(JobServerHostFilterDto filter)
        {
            var jobServerHostList = jobServerHostService.GetJobServerHostList(CreateQueryObject(filter));

            return(jobServerHostList.Select(c => c.MapTo <JobServerHostDto>()).ToList());
        }
Esempio n. 3
0
        /// <summary>
        /// 获取工作承载节点
        /// </summary>
        /// <param name="filter">查询条件</param>
        /// <returns></returns>
        public JobServerHostDto GetJobServerHost(JobServerHostFilterDto filter)
        {
            var jobServerHost = jobServerHostService.GetJobServerHost(CreateQueryObject(filter));

            return(jobServerHost.MapTo <JobServerHostDto>());
        }