コード例 #1
0
        public async Task <PagedResultDto <CarBaseDto> > SelectCarBase(PagedCarBaseSelectResultRequestDto input)
        {
            CheckGetAllPermission();

            var query = CreateFilteredQuery(input)
                        .WhereIf(input.MakNo != null && input.MakNo != "", x => x.MakNo == input.MakNo)
                        .WhereIf(input.CarNo != null && input.CarNo != "", x => x.CarNo == input.CarNo)
                        .WhereIf(input.EngNo != null && input.EngNo != "", x => x.EngNo == input.EngNo)
                        .WhereIf(input.MakDtFrom != null && input.MakDtTo != null, x => input.MakDtFrom <= x.MakDt && x.MakDt <= input.MakDtTo)
                        .WhereIf(input.CarDtFrom != null && input.CarDtTo != null, x => input.CarDtFrom <= x.CarDt && x.CarDt <= input.CarDtTo)
                        .WhereIf(!string.IsNullOrEmpty(input.Keyword), x => x.CarNo.Contains(input.Keyword) || x.MakNo.Contains(input.Keyword) || x.EngNo.Contains(input.Keyword))
                        .WhereIf(input.IsBusiness.HasValue, x => x.IsBusiness == input.IsBusiness)
                        .WhereIf(input.Oil.HasValue, x => x.Oil == input.Oil)
                        .WhereIf(input.RepositoryID.HasValue, x => x.RepositoryID == input.RepositoryID);

            var totalCount = await AsyncQueryableExecuter.CountAsync(query);

            query = ApplySorting(query, input);
            query = ApplyPaging(query, input);

            var entities = await AsyncQueryableExecuter.ToListAsync(query);

            return(new PagedResultDto <CarBaseDto>(
                       totalCount,
                       entities.Select(MapToEntityDto).ToList()
                       ));
        }
コード例 #2
0
 public long?SelectMaxCarBaseId(PagedCarBaseSelectResultRequestDto input)
 {
     return(CreateFilteredQuery(input).Max(x => x.Id));
 }