public async Task <IEnumerable <Models.Doc> > SearchAsync(DocSearchRequest request, bool fullQuery = false) { IQueryable <Models.Doc> query = _context.Docs.AsQueryable(); if (request.ContactId.HasValue) { query = query.Where(q => q.CreatedBy.Equals(request.ContactId)); } if (request.Id.HasValue) { query = query.Where(q => q.Id.Equals(request.Id)); } if (string.IsNullOrWhiteSpace(request.Query)) { query = query.Where(q => q.Description.Contains(request.Query) || q.FileName.Contains(request.Query) || q.OriginalFileName.Contains(request.Query) ); } return(await query .Skip(request.Skip) .Take(request.Limit) .AsNoTracking().ToListAsync()); }
public async Task <IEnumerable <Models.Doc> > Search(DocSearchRequest request) { var json = JsonConvert.SerializeObject(request); _logger.LogInformation($"search.docs ${json}"); var data = (await _repository.SearchAsync(request)).ToList(); _logger.LogInformation($"found.docs {data.Count}"); return(data); }