summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--RhSolutions.Api/Controllers/SearchController.cs37
1 files changed, 19 insertions, 18 deletions
diff --git a/RhSolutions.Api/Controllers/SearchController.cs b/RhSolutions.Api/Controllers/SearchController.cs
index 92d93d0..cf35209 100644
--- a/RhSolutions.Api/Controllers/SearchController.cs
+++ b/RhSolutions.Api/Controllers/SearchController.cs
@@ -4,24 +4,25 @@ using RhSolutions.Models;
namespace RhSolutions.Api.Controllers
{
- [Route("api/[controller]")]
- public class SearchController : ControllerBase
- {
- private RhSolutionsContext context;
+ [Route("api/[controller]")]
+ public class SearchController : ControllerBase
+ {
+ private RhSolutionsContext context;
- public SearchController(RhSolutionsContext context)
- {
- this.context = context;
- }
+ public SearchController(RhSolutionsContext context)
+ {
+ this.context = context;
+ }
- [HttpGet]
- public IAsyncEnumerable<Product> SearchProducts([FromQuery] string query)
- {
- return context.Products
- .Where(p => EF.Functions.ToTsVector(
- "russian", string.Join(' ', new[] { p.Name, string.Join(' ', p.ProductLines)}))
- .Matches(EF.Functions.WebSearchToTsQuery("russian", query)))
- .AsAsyncEnumerable();
- }
- }
+ [HttpGet]
+ public IAsyncEnumerable<Product> SearchProducts([FromQuery] string query)
+ {
+ return context.Products
+ .Where(p => EF.Functions.ToTsVector(
+ "russian", string.Join(' ', new[] { p.Name, string.Join(' ', p.ProductLines)}))
+ .Matches(EF.Functions.WebSearchToTsQuery("russian", query)))
+ .OrderByDescending(p => p.IsOnWarehouse)
+ .AsAsyncEnumerable();
+ }
+ }
} \ No newline at end of file