Exemple #1
0
        /// <summary>
        /// 获得所有未分配工作台的项目
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <PagedResultDto <SubProjectDto> > GetAllUnbinding(GetAllProductionUnbindingInput input)
        {
            var query = _subProjectManager.GetAll()
                        .WhereIf(input.ProjectId.HasValue, v => v.ProjectId == input.ProjectId)
                        .Include(v => v.Pedestal)
                        .Where(v => v.Pedestal == null || SubProjectManager.IsCurrentStepFinished(v));

            return(await GetAllAsyncByQueryFilter <SubProjectDto, SubProject>(query));
        }
        /// <summary>
        /// 获取所有的构件
        /// PAGE: 项目
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <PagedResultDto <SubProjectDto> > GetAll(GetAllSubProjectInput input)
        {
            var query = _subProjectManager.GetAll()
                        .WhereIf(input.ProjectId.HasValue, v => v.ProjectId == input.ProjectId)
                        .WhereIf(input.ProcedureId.HasValue, v => v.ProcedureId == input.ProcedureId)
                        .WhereIf(input.BimModelFileItemId.HasValue, v => v.BimModelFileItemId == input.BimModelFileItemId)
                        .WhereIf(!input.SearchParam.IsNullOrWhiteSpace(), v => v.Code.Contains(input.SearchParam));

            query = query.Take(10);
            return(new PagedResultDto <SubProjectDto>(
                       await query.CountAsync(),
                       await query.Select(v => v.MapTo <SubProjectDto>()).ToListAsync()
                       ));
        }