public async Task <PopularResult <byte[]> > GetBytesAsync(InsuranceQueryDto dto) { var result = new PopularResult <byte[]>(); var query = _insuranceRepository.Where(x => x.IsDelete == dto.IsDelete); var insurances = await AsyncExecuter.ToListAsync(query); //转换为导出对象 var dtos = ObjectMapper.Map <List <InsuranceEntity>, List <InsuranceDto> >(insurances); var stream = EPPlusHelper.GetMemoryStream(dtos); result.Success(stream.ToArray()); return(result); }
public async Task <PopularResult <byte[]> > GetExportAsync(InsuranceQueryDto dto) { return(await _insuranceService.GetBytesAsync(dto)); }
public async Task <PopularResult <PagedResultDto <InsuranceDto> > > GetListAsync(InsuranceQueryDto dto) { var result = new PopularResult <PagedResultDto <InsuranceDto> >(); var countQuery = _insuranceRepository.Where(x => x.IsDelete == dto.IsDelete) .WhereIf(!dto.License.IsNullOrWhiteSpace(), insurance => insurance.Vehicle.License.Contains(dto.License)); var query = from m in countQuery.OrderBy(x => x.CreateTime).PageBy(dto.ToSkipCount(), dto.ToMaxResultCount()) join v in _vehicleRepository on m.VehicleId equals v.Id into cls from c in cls.DefaultIfEmpty() select new InsuranceEntity(m.Id) { EndDate = m.EndDate, StartDate = m.StartDate, Expend = m.Expend, InsureCompany = m.InsureCompany, InsureName = m.InsureName, InsureNote = m.InsureNote, InsureType = m.InsureType, Vehicle = c, VehicleId = m.VehicleId, //IsDelete = m.IsDelete, CreateTime = m.CreateTime, Creator = m.Creator, Remark = m.Remark, }; var insurances = await AsyncExecuter.ToListAsync(query); var totalCount = await AsyncExecuter.CountAsync(countQuery); var dtos = ObjectMapper.Map <List <InsuranceEntity>, List <InsuranceDto> >(insurances); result.Success(new PagedResultDto <InsuranceDto>(totalCount, dtos)); return(result); }
public async Task <PopularResult <PagedResultDto <InsuranceDto> > > GetPageAsync([FromQuery] InsuranceQueryDto dto) { return(await _insuranceService.GetListAsync(dto)); }