Esempio n. 1
0
        public ListResultDto <PlanWithBudgetOutlayListDto> GetCorrelatedOutlays(PlanWithBudgetOutlayQueryDto request)
        {
            if (!request.Pid.HasValue)
            {
                throw new UserFriendlyException("采购计划不能为空");
            }

            var query = this.planWithBudgetOutlayRepository.GetAll()
                        .Where(r => r.ProcurementPlanId == request.Pid).OrderByDescending(r => r.CreationTime);
            var count = query.Count();
            var list  = query.AsQueryable().PageBy(request).ToList();
            var dtos  = list.MapTo <List <PlanWithBudgetOutlayListDto> >();

            return(new PagedResultDto <PlanWithBudgetOutlayListDto>(count, dtos));
        }
Esempio n. 2
0
        public ListResultDto <PlanWithBudgetOutlayListDto> GetUnCorrelatedOutlays(PlanWithBudgetOutlayQueryDto request)
        {
            if (!request.Year.HasValue)
            {
                request.Year = DateTime.Now.Year;
            }

            var correlatedIds = this.planWithBudgetOutlayRepository.GetAll()
                                .Where(r => r.ProcurementPlan.Date.Year == request.Year.Value).Select(r => r.BudgetOutlayId);
            var query = this.budgetOutlayRepository.GetAll()
                        .Where(r => correlatedIds.All(m => m != r.Id) && r.BudgetReceiptId.HasValue && r.Type == request.Type)
                        .WhereIf(!string.IsNullOrEmpty(request.Name), r => r.Name.Contains(request.Name))
                        .OrderByDescending(r => r.CreationTime);
            var count = query.Count();
            var list  = query.AsQueryable().PageBy(request).ToList();
            var dtos  = list.MapTo <List <PlanWithBudgetOutlayListDto> >();

            return(new PagedResultDto <PlanWithBudgetOutlayListDto>(count, dtos));
        }