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() )); }
public long?SelectMaxCarBaseId(PagedCarBaseSelectResultRequestDto input) { return(CreateFilteredQuery(input).Max(x => x.Id)); }