protected override IPublishedContent FindContent(RequestContext requestContext, UmbracoContext umbracoContext) { var umbracoHelper = new UmbracoHelper(umbracoContext); var rootNode = (IPublishedContent)umbracoHelper.ContentAtXPath("//airportRepository").FirstOrDefault(); var basisNode = rootNode?.Children().FirstOrDefault(x => x.DocumentTypeAlias == "airportInformation"); var detailNode = rootNode?.Children.FirstOrDefault(x => PublishedContentExtensions.GetPropertyValue <string>(x, "iCAOCode").ToLower() == requestContext.RouteData.Values["id"].ToString().ToLower()); if (detailNode != null) { return(detailNode); } return(basisNode); }
// IPublishedContent extension methods: // // all these methods are IPublishedContent extension methods so they should in // theory apply to DynamicPublishedContent since it is an IPublishedContent and // we look for extension methods. But that lookup has to be pretty slow. // Duplicating the methods here makes things much faster. #region IPublishedContent extension methods - Template public string GetTemplateAlias() { return(PublishedContentExtensions.GetTemplateAlias(this)); }
public DynamicPublishedContentList Search(Examine.SearchCriteria.ISearchCriteria criteria, Examine.Providers.BaseSearchProvider searchProvider = null) { return(new DynamicPublishedContentList( PublishedContentExtensions.Search(this, criteria, searchProvider))); }
public DynamicPublishedContentList SearchChildren(string term, bool useWildCards = true, string searchProvider = null) { return(new DynamicPublishedContentList( PublishedContentExtensions.SearchChildren(this, term, useWildCards, searchProvider))); }