Example #1
0
        /// <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));
        }
Example #2
0
        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
            });
        }
Example #3
0
 public async Task <PagedResultDto <DocumentDto> > FilteredPagedListAsync(GetDocumentsInput input)
 {
     return(await _documentAppService.FilteredPagedListAsync(input));
 }