Exemple #1
0
        public async Task <PopularResult <byte[]> > GetBytesAsync(MaintenanceQueryDto dto)
        {
            var result = new PopularResult <byte[]>();

            var query = _maintenanceRepository.Where(x => x.IsDelete == dto.IsDelete);

            var maintenances = await AsyncExecuter.ToListAsync(query);

            //转换为导出对象
            var dtos = ObjectMapper.Map <List <MaintenanceEntity>, List <MaintenanceDto> >(maintenances);

            var stream = EPPlusHelper.GetMemoryStream(dtos);

            result.Success(stream.ToArray());

            return(result);
        }
Exemple #2
0
 public async Task <PopularResult <byte[]> > GetExportAsync(MaintenanceQueryDto dto)
 {
     return(await _maintenanceService.GetBytesAsync(dto));
 }
Exemple #3
0
 public async Task <PopularResult <PagedResultDto <MaintenanceDto> > > GetPageAsync([FromQuery] MaintenanceQueryDto dto)
 {
     return(await _maintenanceService.GetListAsync(dto));
 }
Exemple #4
0
        public async Task <PopularResult <PagedResultDto <MaintenanceDto> > > GetListAsync(MaintenanceQueryDto dto)
        {
            var result = new PopularResult <PagedResultDto <MaintenanceDto> >();

            var countQuery = _maintenanceRepository.Where(x => x.IsDelete == dto.IsDelete);
            //.WhereIf(!dto.License.IsNullOrWhiteSpace(), maintenance => maintenance.Vehicle.License.Contains(dto.License));

            var query = from m in _maintenanceRepository.OrderBy(x => x.CreateTime).PageBy(dto.ToSkipCount(), dto.ToMaxResultCount()).Where(x => x.IsDelete == dto.IsDelete)
                        join v in _vehicleRepository on m.VehicleId equals v.Id into cls
                        from c in cls.DefaultIfEmpty()
                        join d in _dictRepository on m.CostTypeId equals d.Id into md
                        from s in md.DefaultIfEmpty()
                        select new MaintenanceEntity(m.Id)
            {
                Address    = m.Address,
                CostType   = s,
                CostTypeId = m.CostTypeId,
                Expend     = m.Expend,
                RecordTime = m.RecordTime,
                Vehicle    = c,
                VehicleId  = m.VehicleId,
                //IsDelete = m.IsDelete,
                CreateTime = m.CreateTime,
                Creator    = m.Creator,
                Remark     = m.Remark,
            };

            var maintenances = await AsyncExecuter.ToListAsync(query);

            var totalCount = await AsyncExecuter.CountAsync(countQuery);

            var dtos = ObjectMapper.Map <List <MaintenanceEntity>, List <MaintenanceDto> >(maintenances);

            result.Success(new PagedResultDto <MaintenanceDto>(totalCount, dtos));
            return(result);
        }