mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
Moving around some handler/driver machinary
Relocating IContentHandler imlementations that power IContentXxxDriver interfaces Giving them component role suffix Coordinator Merging two handlers into one content part driver coordinator --HG-- branch : dev
This commit is contained in:
@@ -7,16 +7,14 @@ using Orchard.Localization;
|
||||
using Orchard.Localization.Services;
|
||||
using Orchard.ContentManagement;
|
||||
|
||||
namespace Orchard.Search.Services
|
||||
{
|
||||
public class SearchService : ISearchService
|
||||
{
|
||||
private readonly IContentManager _contentManager;
|
||||
namespace Orchard.Search.Services {
|
||||
public class SearchService : ISearchService {
|
||||
private readonly IIndexManager _indexManager;
|
||||
private readonly ICultureManager _cultureManager;
|
||||
|
||||
public SearchService(IOrchardServices services, IContentManager contentManager, ICultureManager cultureManager) {
|
||||
public SearchService(IOrchardServices services, IIndexManager indexManager, ICultureManager cultureManager) {
|
||||
Services = services;
|
||||
_contentManager = contentManager;
|
||||
_indexManager = indexManager;
|
||||
_cultureManager = cultureManager;
|
||||
T = NullLocalizer.Instance;
|
||||
}
|
||||
@@ -24,14 +22,20 @@ namespace Orchard.Search.Services
|
||||
public IOrchardServices Services { get; set; }
|
||||
public Localizer T { get; set; }
|
||||
|
||||
ISearchBuilder Search() {
|
||||
return _indexManager.HasIndexProvider()
|
||||
? _indexManager.GetSearchIndexProvider().CreateSearchBuilder("Search")
|
||||
: new NullSearchBuilder();
|
||||
}
|
||||
|
||||
IPageOfItems<T> ISearchService.Query<T>(string query, int page, int? pageSize, bool filterCulture, string[] searchFields, Func<ISearchHit, T> shapeResult) {
|
||||
|
||||
if (string.IsNullOrWhiteSpace(query))
|
||||
return null;
|
||||
|
||||
var searchBuilder = _contentManager.Search().Parse(searchFields, query);
|
||||
var searchBuilder = Search().Parse(searchFields, query);
|
||||
|
||||
if ( filterCulture ) {
|
||||
if (filterCulture) {
|
||||
var culture = _cultureManager.GetSiteCulture();
|
||||
|
||||
// use LCID as the text representation gets analyzed by the query parser
|
||||
@@ -48,7 +52,7 @@ namespace Orchard.Search.Services
|
||||
|
||||
var pageOfItems = new PageOfItems<T>(searchBuilder.Search().Select(shapeResult)) {
|
||||
PageNumber = page,
|
||||
PageSize = pageSize != null ? (int) pageSize : totalCount,
|
||||
PageSize = pageSize != null ? (int)pageSize : totalCount,
|
||||
TotalItemCount = totalCount
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user