Exemple #1
0
        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());
        }
Exemple #2
0
        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);
        }