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 }); }
public AssetGetResponse Asset([FromQuery] AssetGetRequest request) { return(_assetService.Get(request)); }