コード例 #1
0
        public async Task <PopularResult <PagedResultDto <UnitDto> > > GetListAsync(UnitQueryDto dto)
        {
            var result = new PopularResult <PagedResultDto <UnitDto> >();

            var queryAble = _unitRepository.Where(x => x.IsDelete == 0)
                            .WhereIf(!dto.Name.IsNullOrWhiteSpace(), unit => unit.Name.Contains(dto.Name))
                            .WhereIf(!dto.InteriorCode.IsNullOrWhiteSpace(), unit => unit.InteriorCode.Contains(dto.InteriorCode));

            var units = await AsyncExecuter.ToListAsync(queryAble.PageBy(dto.SkipCount, dto.MaxResultCount));

            var totalCount = await AsyncExecuter.CountAsync(queryAble);

            var dtos = ObjectMapper.Map <List <UnitEntity>, List <UnitDto> >(units);

            result.Success(new PagedResultDto <UnitDto>(totalCount, dtos));
            return(result);
        }
コード例 #2
0
        public async Task <PopularResult <byte[]> > GetBytesAsync(UnitQueryDto dto)
        {
            var result = new PopularResult <byte[]>();

            var queryAble = _unitRepository
                            .WhereIf(!dto.Name.IsNullOrWhiteSpace(), unit => unit.Name.Contains(dto.Name))
                            .WhereIf(!dto.InteriorCode.IsNullOrWhiteSpace(), unit => unit.InteriorCode.Contains(dto.InteriorCode));

            var units = await AsyncExecuter.ToListAsync(queryAble);

            //转换为导出对象
            var dtos = ObjectMapper.Map <List <UnitEntity>, List <UnitDto> >(units);

            var stream = EPPlusHelper.GetMemoryStream(dtos);

            result.Success(stream.ToArray());

            return(result);
        }