/// <summary> /// 获取Document的分页列表信息 ///</summary> /// <param name="input"></param> /// <returns></returns> public async Task <PagedResultDto <DocumentListDto> > GetPaged(GetDocumentsInput input) { var query = _entityRepository.GetAll() .WhereIf(!string.IsNullOrEmpty(input.CategoryCode), e => ("," + e.CategoryCode + ",").Contains(input.CategoryCode)) .WhereIf(!string.IsNullOrEmpty(input.KeyWord), e => e.Name.Contains(input.KeyWord) || e.Summary.Contains(input.KeyWord)); var count = await query.CountAsync(); var entityList = await query .OrderBy(input.Sorting).AsNoTracking() .PageBy(input) .ToListAsync(); // var entityListDtos = ObjectMapper.Map<List<DocumentListDto>>(entityList); var entityListDtos = entityList.MapTo <List <DocumentListDto> >(); return(new PagedResultDto <DocumentListDto>(count, entityListDtos)); }
public async Task <APIResultDto> DownloadQRCodeZip(GetDocumentsInput input) { var query = _entityRepository.GetAll() .WhereIf(!string.IsNullOrEmpty(input.CategoryCode), e => ("," + e.CategoryCode + ",").Contains(input.CategoryCode)) .WhereIf(!string.IsNullOrEmpty(input.KeyWord), e => e.Name.Contains(input.KeyWord) || e.Summary.Contains(input.KeyWord)); var docs = await query.Select(q => new { q.Id, q.Name, q.CategoryDesc }).ToListAsync(); string webRootPath = _hostingEnvironment.WebRootPath; string filePath = webRootPath + "/docqrcodes"; if (Directory.Exists(filePath)) { Directory.Delete(filePath, true); Directory.CreateDirectory(filePath); } else { Directory.CreateDirectory(filePath); } foreach (var item in docs) { QRCodeHelper.GenerateQRCode(item.Id.ToString(), string.Format("{0}/{1}-{2}.jpg", filePath, item.CategoryDesc.Replace(',', '-'), item.Name), QRCoder.QRCodeGenerator.ECCLevel.Q, 20); } var zipFiles = "/downloads/资料二维码.zip"; var zipPath = webRootPath + "/downloads"; if (!Directory.Exists(zipPath)) { Directory.CreateDirectory(zipPath); } ZipHelper.ZipFileDirectory(filePath, string.Format("{0}{1}", webRootPath, zipFiles)); return(new APIResultDto() { Code = 0, Msg = "生成二维码成功", Data = zipFiles }); }
public async Task <PagedResultDto <DocumentDto> > FilteredPagedListAsync(GetDocumentsInput input) { return(await _documentAppService.FilteredPagedListAsync(input)); }