Beispiel #1
0
        public AssetGetResponse Get(AssetGetRequest request)
        {
            // Limit max results
            if (request.MaxResults < 1)
            {
                request.MaxResults = _settings.MaxResults;
            }
            else if (request.MaxResults > _settings.ResultsLimit)
            {
                request.MaxResults = _settings.ResultsLimit;
            }

            List <Asset> assets = new List <Asset>();

            if (string.IsNullOrEmpty(request.SearchText))
            {
                assets = _assetCollection.Find <Asset>(x => true)
                         // .Sort(Builders<Asset>.Sort.MetaTextScore("textscore"))
                         .Limit(request.MaxResults)
                         .Skip(request.Skip)
                         .ToList();
            }
            else
            {
                assets = _assetCollection.Find <Asset>(Builders <Asset> .Filter.Text(request.SearchText))
                         // .Sort(Builders<Asset>.Sort.MetaTextScore("textscore"))
                         .Limit(request.MaxResults)
                         .Skip(request.Skip)
                         .ToList();
            }

            return(new AssetGetResponse()
            {
                Results = assets
            });
        }
Beispiel #2
0
 public AssetGetResponse Asset([FromQuery] AssetGetRequest request)
 {
     return(_assetService.Get(request));
 }