Order found products by IsOnWarehouse property
This commit is contained in:
parent
b7e4bf6887
commit
bdf5f4f727
@ -4,24 +4,25 @@ using RhSolutions.Models;
|
|||||||
|
|
||||||
namespace RhSolutions.Api.Controllers
|
namespace RhSolutions.Api.Controllers
|
||||||
{
|
{
|
||||||
[Route("api/[controller]")]
|
[Route("api/[controller]")]
|
||||||
public class SearchController : ControllerBase
|
public class SearchController : ControllerBase
|
||||||
{
|
{
|
||||||
private RhSolutionsContext context;
|
private RhSolutionsContext context;
|
||||||
|
|
||||||
public SearchController(RhSolutionsContext context)
|
public SearchController(RhSolutionsContext context)
|
||||||
{
|
{
|
||||||
this.context = context;
|
this.context = context;
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public IAsyncEnumerable<Product> SearchProducts([FromQuery] string query)
|
public IAsyncEnumerable<Product> SearchProducts([FromQuery] string query)
|
||||||
{
|
{
|
||||||
return context.Products
|
return context.Products
|
||||||
.Where(p => EF.Functions.ToTsVector(
|
.Where(p => EF.Functions.ToTsVector(
|
||||||
"russian", string.Join(' ', new[] { p.Name, string.Join(' ', p.ProductLines)}))
|
"russian", string.Join(' ', new[] { p.Name, string.Join(' ', p.ProductLines)}))
|
||||||
.Matches(EF.Functions.WebSearchToTsQuery("russian", query)))
|
.Matches(EF.Functions.WebSearchToTsQuery("russian", query)))
|
||||||
.AsAsyncEnumerable();
|
.OrderByDescending(p => p.IsOnWarehouse)
|
||||||
}
|
.AsAsyncEnumerable();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user