コード例 #1
0
        /// <summary>
        /// 获取已完成的构件
        /// 生产3
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <PagedResultDto <SubProjectDto> > GetAllInFinished(GetAllProductionBase input)
        {
            var query = _subProjectManager.GetAll()
                        .WhereIf(input.ProjectId.HasValue, v => v.ProjectId == input.ProjectId)
                        .Where(v => v.IsFinished && !v.OffPedestalTime.HasValue);

            return(await GetAllPagedByQueryFilter <SubProjectDto, SubProject, Guid>(query, input));
        }
コード例 #2
0
        /// <summary>
        /// 获得所有正在处理中的子项目,附带台座信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <PagedResultDto <SubProjectDto> > GetAllInProcessing(GetAllProductionBase input)
        {
            var query = _subProjectManager.GetAll().Include(v => v.Pedestal)
                        .WhereIf(input.ProjectId.HasValue, v => v.ProjectId == input.ProjectId)
                        .Where(v => v.Pedestal != null && !SubProjectManager.IsCurrentStepFinished(v));
            var totalCount = await query.CountAsync();

            var entities = await query.ToListAsync();

            // 需要添加台座信息,所以不能直接用父类方法
            return(new PagedResultDto <SubProjectDto>(
                       totalCount, entities.Select(v =>
            {
                var subProject = v.MapTo <SubProjectDto>();
                subProject.PedestalDto = v.Pedestal.MapTo <PedestalDto>();
                return subProject;
            }).ToList()
                       ));
        }