public KenticoSiteMapRepository(string cultureName, bool latestVersionEnabled, IDynamicRouteHelper dynamicRouteHelper, IKenticoSiteMapRepositoryHelper Helper) { this.cultureName = cultureName; this.latestVersionEnabled = latestVersionEnabled; _DynamicRouteHelper = dynamicRouteHelper; _Helper = Helper; }
public DocumentQuery GetDocumentQuery(string Path, SiteMapOptions Options, string ClassName = null) { var DocumentQuery = (string.IsNullOrWhiteSpace(ClassName) ? new DocumentQuery() : new DocumentQuery(ClassName)); DocumentQuery .Path(Path, PathTypeEnum.Section) .Culture(DataHelper.GetNotEmpty(Options.CultureCode, _repoContext.CurrentCulture())) .OnSite(Options.SiteName) .Published(Options.SelectOnlyPublished); if (Options.CheckDocumentPermissions.HasValue) { DocumentQuery.CheckPermissions(Options.CheckDocumentPermissions.Value); } if (Options.CombineWithDefaultCulture.HasValue) { DocumentQuery.CombineWithDefaultCulture(Options.CombineWithDefaultCulture.Value); } if (Options.MaxRelativeLevel > -1) { // Get the nesting level of the give path IKenticoSiteMapRepositoryHelper _CachableSelfHelper = (IKenticoSiteMapRepositoryHelper)_serviceProvider.GetService(typeof(IKenticoNavigationRepositoryHelper)); DocumentQuery.NestingLevel(Options.MaxRelativeLevel + _CachableSelfHelper.GetNodeLevel(Path, Options.SiteName)); } if (!string.IsNullOrWhiteSpace(Options.WhereCondition)) { DocumentQuery.Where(Options.WhereCondition); } return(DocumentQuery); }
public KenticoSiteMapRepository(IRepoContext repoContext, [FromServices] IPageDataContextRetriever dataContextRetriever, IKenticoSiteMapRepositoryHelper Helper, [FromServices] IPageUrlRetriever pageUrlRetriever, IGeneralDocumentRepository generalDocumentRepository) { _dataContextRetriever = dataContextRetriever; _Helper = Helper; _pageUrlRetriever = pageUrlRetriever; _generalDocumentRepository = generalDocumentRepository; }