Example #1
0
        public async Task <List <PlanListDto> > GetPlanList(GetPlansInput input)
        {
            var query = _planRepository.GetAll();

            var plans = await query
                        .OrderBy(input.Sorting).AsNoTracking()
                        .PageBy(input)
                        .ToListAsync();

            var planListDtos = plans.MapTo <List <PlanListDto> >();

            return(new List <PlanListDto>(
                       planListDtos
                       ));
        }
Example #2
0
        /// <summary>
        /// 获取Plan的分页列表信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <PagedResultDto <PlanListDto> > GetPagedPlans(GetPlansInput input)
        {
            var query = _planRepository.GetAll();

            query = query.WhereIf(!string.IsNullOrEmpty(input.Filter), t => t.PlanName.Contains(input.Filter) ||
                                  t.MainContent.Contains(input.Filter) || t.FileNo.Contains(input.Filter));

            var planCount = await query.CountAsync();

            var plans = await query
                        .OrderBy(input.Sorting).AsNoTracking()
                        .PageBy(input)
                        .ToListAsync();

            //var planListDtos = ObjectMapper.Map<List <PlanListDto>>(plans);
            var planListDtos = plans.MapTo <List <PlanListDto> >();

            return(new PagedResultDto <PlanListDto>(
                       planCount,
                       planListDtos
                       ));
        }
Example #3
0
        public async Task <PagedResultDto <PlanListWithProjectDto> > GetPagedPlansWithProject(GetPlansInput input)
        {
            try
            {
                var query = _planRepository.GetAll().Include(t => t.PlanProjects)
                            .WhereIf(!input.Filter.IsNullOrEmpty(),
                                     t => t.PlanName.Contains(input.Filter) ||
                                     t.FileNo.Contains(input.Filter) ||
                                     t.MainContent.Contains(input.Filter));

                var planCount = await query.CountAsync();

                var plans = await query
                            .OrderByDescending(t => t.PlanYear).AsNoTracking()
                            .PageBy(input)
                            .ToListAsync();

                var projectTypes = _planProjectTypeRepository.GetAll();

                foreach (var plan in plans)
                {
                    foreach (var planProject in plan.PlanProjects)
                    {
                        planProject.PlanProjectType = projectTypes.First(t => t.Id == planProject.PlanProjectTypeId);
                    }
                }
                //var planListDtos = ObjectMapper.Map<List <PlanListDto>>(plans);
                var planListDtos = plans.MapTo <List <PlanListWithProjectDto> >();

                return(new PagedResultDto <PlanListWithProjectDto>(
                           planCount,
                           planListDtos
                           ));
            }
            catch (Exception ex)
            {
                return(new PagedResultDto <PlanListWithProjectDto>(
                           0,
                           null
                           ));
            }
        }