public async Task <List <ArchivesInfo> > QueryExportArchives(ArchivesSearchRequest request) { var query = _db.ArchivesInfo.AsNoTracking(); if (!string.IsNullOrEmpty(request.Keyword)) { query = query.Where(c => c.Title.Contains(request.Keyword.Trim()) || c.ProjectName.Contains(request.Keyword.Trim())); } if (!string.IsNullOrEmpty(request.Label)) { var projectNames = request.Label.Split(',', StringSplitOptions.RemoveEmptyEntries); query = query.Where(c => projectNames.Contains(c.ProjectName)); } return(await query.OrderBy(c => c.ArchivesNumber).ToListAsync()); //return await _db.ArchivesInfo.ToListAsync(); }
public async Task <CommonSearchResponse <List <ArchivesSearchResult> > > SearchArchives(ArchivesSearchRequest request) { var response = new CommonSearchResponse <List <ArchivesSearchResult> >(); try { var query = _db.ArchivesInfo.AsNoTracking().Where(c => !c.Deleted); if (!string.IsNullOrEmpty(request.Keyword)) { query = query.Where(c => c.Title.Contains(request.Keyword.Trim()) || c.ProjectName.Contains(request.Keyword.Trim())); } if (!string.IsNullOrEmpty(request.Label)) { var projectNames = request.Label.Split(',', StringSplitOptions.RemoveEmptyEntries); query = query.Where(c => projectNames.Contains(c.ProjectName)); } if (request.ShowBorrowed.HasValue) { if (!request.ShowBorrowed.Value) { query = query.Where(c => c.Status != ArchivesStatus.Borrowed); } } var list = await query.OrderBy(c => c.ArchivesNumber) .Skip(request.PageNumber * request.PageSize) .Take(request.PageSize) .Select(c => new ArchivesSearchResult { Id = c.Id, ArchivesNumber = c.ArchivesNumber, CategoryId = c.CategoryId, FileNumber = c.FileNumber, ProjectName = c.ProjectName, Title = c.Title, OrderNumber = c.OrderNumber, Status = c.Status, }).ToListAsync(); var total = await query.CountAsync(); response.Data = list; response.TotalPage = total.GetPages(request.PageSize); response.TotalCount = total; response.Success = true; } catch (Exception ex) { response.Message = "获取案档列表发生异常"; ApplicationLog.Error("SearchArchives", ex); } return(response); }
public async Task <CommonSearchResponse <List <ArchivesSearchResult> > > SearchArchives([FromQuery] ArchivesSearchRequest request) { var response = await _archivesService.SearchArchives(request); return(response); }