private IEnumerable<ChoiceModel> CreateHitModel(IndexResponseItem responseItem)
 {
     var content = _contentSearchHandler.GetContent<IContent>(responseItem);
     if (content != null && HasTemplate(content) && IsPublished(content as IVersionable))
     {
         yield return CreatePageHit(content);
     }
 }
        private IEnumerable <SearchContentModel.SearchHit> CreateHitModel(IndexResponseItem responseItem)
        {
            var content = _contentSearchHandler.GetContent <IContent>(responseItem);

            if (content != null && HasTemplate(content) && IsPublished(content as IVersionable))
            {
                yield return(CreatePageHit(content));
            }
        }
Ejemplo n.º 3
0
        public static T GetPageData <T>(this IndexResponseItem item) where T : PageData
        {
            var guid = new Guid(item.VirtualPathNodes.Last());
            var map  = PermanentLinkMapStore.Find(guid) as PermanentContentLinkMap;

            if (map != null)
            {
                return(ServiceLocator.Current.GetInstance <IContentLoader>().Get <T>(map.ContentReference));
            }
            return(null);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Gets the page data for the current search result
        /// </summary>
        /// <param name="result">The <see cref="IndexResponseItem"/> to operate on</param>
        /// <returns>A <see cref="PageData"/> for the result or null if the page cannot be found</returns>
        public static PageData GetPageData(this IndexResponseItem result)
        {
            var guid = new Guid(result.VirtualPathNodes.Last());
            var map  = PermanentLinkMapStore.Find(guid) as PermanentContentLinkMap;

            if (map != null)
            {
                return(DataFactory.Instance.Get <PageData>(map.ContentReference));
            }

            return(null);
        }
Ejemplo n.º 5
0
 public static Uri GetExternalUrl(this IndexResponseItem item)
 {
     try
     {
         UrlBuilder url = new UrlBuilder(item.Uri);
         EPiServer.Global.UrlRewriteProvider.ConvertToExternal(url, item, System.Text.Encoding.UTF8);
         return(url.Uri);
     }
     catch (Exception ex)
     {
         return(default(Uri));
     }
 }
Ejemplo n.º 6
0
 public static Uri GetExternalUrl(this IndexResponseItem item)
 {
     try
     {
         UrlBuilder url = new UrlBuilder(item.Uri);
         Global.UrlRewriteProvider.ConvertToExternal(url, item, Encoding.UTF8);
         return(url.Uri);
     }
     catch
     {
         return(default(Uri));
     }
 }
Ejemplo n.º 7
0
 private Uri ConvertToUri(IndexResponseItem item)
 {
     try
     {
         var url = new UrlBuilder(item.Uri);
         Global.UrlRewriteProvider.ConvertToExternal(url, item, Encoding.UTF8);
         return(url.Uri);
     }
     catch
     {
         return(default(Uri));
     }
 }
Ejemplo n.º 8
0
 public static bool Include(IndexResponseItem item)
 {
     foreach (SearchResultFilterProvider current in SearchSettings.SearchResultFilterProviders.Values)
     {
         SearchResultFilter searchResultFilter = current.Filter(item);
         if (searchResultFilter == SearchResultFilter.Include)
         {
             bool result = true;
             return(result);
         }
         if (searchResultFilter == SearchResultFilter.Exclude)
         {
             bool result = false;
             return(result);
         }
     }
     return(SearchSettings.Config.SearchResultFilterElement.SearchResultFilterDefaultInclude);
 }
Ejemplo n.º 9
0
 private string GetUrl(IndexResponseItem item)
 {
     return(_urlResolver.GetUrl(_contentSearchHandler.GetContent <IContent>(item).ContentLink));
 }
Ejemplo n.º 10
0
 public abstract SearchResultFilter Filter(IndexResponseItem item);
 IContent IndexItemToPageData(IndexResponseItem item) => _contentSearchHandler.GetContent <IContent>(item);
Ejemplo n.º 12
0
 public static MediaData GetMedia(this IndexResponseItem result, IContentRepository contentRepository)
 {
     return(contentRepository.Get <IContentMedia>(new ContentReference(result.Id)) as MediaData);
 }