public string CalculatedVirtualPath() { var parents = MediaDetailsMapper.GetAllParentMediaDetails(this, LanguagesMapper.GetByID(this.LanguageID)).Reverse(); var virtualPath = ""; foreach (var parent in parents) { if (parent is RootPage || parent is Website) { continue; } virtualPath = StringHelper.CreateSlug(parent.LinkTitle) + "/" + virtualPath; } if (virtualPath == "") { virtualPath = "~/"; } virtualPath = URIHelper.ConvertAbsUrlToTilda(virtualPath); return(virtualPath); }
public void RemoveFromCache() { var htmlCacheKey = GetCacheKey(RenderVersion.HTML); var mobileCacheKey = GetCacheKey(RenderVersion.Mobile); FileCacheHelper.RemoveFromCache(htmlCacheKey); RedisCacheHelper.RemoveFromCache(htmlCacheKey); ContextHelper.RemoveFromCache(htmlCacheKey); RedisCacheHelper.RemoveFromCache(mobileCacheKey); FileCacheHelper.RemoveFromCache(mobileCacheKey); ContextHelper.RemoveFromCache(mobileCacheKey); var language = this.Language; if (language == null && this.LanguageID > 0) { language = LanguagesMapper.GetByID(this.LanguageID); } var parents = MediaDetailsMapper.GetAllParentMediaDetails(this, language).Where(i => i.ID != this.ID); foreach (var item in parents) { item.RemoveFromCache(); } }
protected void Page_Load(object sender, EventArgs e) { if (this.BasePage.CurrentMediaDetail == null) { return; } var items = MediaDetailsMapper.GetAllParentMediaDetails((MediaDetail)this.BasePage.CurrentMediaDetail, this.BasePage.CurrentLanguage); if (items.Any()) { GenerateNav.BindItems(items); } }
public string GetPageTitle() { if (FrameworkSettings.Current == null) { return(""); } if (!string.IsNullOrEmpty(contextPageTitle)) { return(contextPageTitle); } if (this.Title != this.LinkTitle) { return(this.Title); } var pageTitle = ""; var details = MediaDetailsMapper.GetAllParentMediaDetails(this, Language).Reverse().ToList(); if (details.Count == 0) { details.Add(WebsitesMapper.GetWebsite()); } var counter = 0; foreach (MediaDetail detail in details) { pageTitle += detail.Title; counter++; if (counter < details.Count) { pageTitle += " - "; } } contextPageTitle = pageTitle; return(contextPageTitle); }
private void BindRootMedia(Media rootMedia) { /*var cache = FileCacheHelper.GetGenerateNavCache(); * * if (!cache.IsError) * { * var cacheData = cache.GetRawData<string>(); * * if (cacheData != "") * { * return; * } * }*/ var items = new List <IMediaDetail>(); if (!IsBreadCrumbMenu) { /*var itemsCacheKey = $"{rootMedia.ID}_Items"; * var itemsCacheData = (List<IMediaDetail>)ContextHelper.GetFromCache(itemsCacheKey); * * if (itemsCacheData != null) * { * return; * } * else * {*/ /*var items = MediaDetailsMapper.GetDataModel().MediaDetails.AsNoTracking().Where(i => i.Media.ParentMediaID == rootMedia.ID && i.HistoryVersionNumber == 0 && i.LanguageID == currentLanguage.ID && !i.IsDeleted && i.PublishDate <= DateTime.Now && (i.ExpiryDate == null || i.ExpiryDate > DateTime.Now)).OrderBy(i => i.Media.OrderIndex); //rootMedia.ChildMedias.SelectMany(m => m.MediaDetails.Where(i => i.HistoryVersionNumber == 0 && (i.ShowInMenu || i.RenderInFooter) && !i.IsDeleted && i.PostPublishDate <= DateTime.Now && (i.PostExpiryDate == null || i.PostExpiryDate > DateTime.Now))).OrderBy(i => i.Media.OrderIndex); * Bind(items);*/ //var mediaDetail = BaseMapper.GetDataModel().MediaDetails.FirstOrDefault(i => i.MediaID == rootMedia.ID && i.LanguageID == BasePage.CurrentLanguage.ID); var mediaDetail = rootMedia.GetLiveMediaDetail(); if (mediaDetail == null || mediaDetail.MediaType == null) { return; } if (mediaDetail.MediaType.Name == MediaTypeEnum.RootPage.ToString()) { rootMedia = WebsitesMapper.GetWebsite().Media; } var children = MediaDetailsMapper.GetDataModel().MediaDetails.Where(i => i.ShowInMenu && i.Media.ParentMediaID == rootMedia.ID && i.HistoryVersionNumber == 0 && i.LanguageID == currentLanguage.ID && !i.IsDeleted && i.PublishDate <= DateTime.Now && (i.ExpiryDate == null || i.ExpiryDate > DateTime.Now)).OrderBy(i => i.Media.OrderIndex).ToList(); //rootMedia.ChildMedias.SelectMany(m => m.MediaDetails.Where(i => i.HistoryVersionNumber == 0 && (i.ShowInMenu || i.RenderInFooter) && !i.IsDeleted && i.PostPublishDate <= DateTime.Now && (i.PostExpiryDate == null || i.PostExpiryDate > DateTime.Now))).OrderBy(i => i.Media.OrderIndex); items.AddRange(children); //items = mediaDetail.ChildMediaDetails.Where(i=>i.ShowInMenu).ToList(); if (!items.Any() && RenderParentNavIfNoChildren) { items = mediaDetail.Media.ParentMedia.GetLiveMediaDetail(mediaDetail.Language).ChildMediaDetails.Where(i => i.ShowInMenu).ToList(); } //ContextHelper.SaveToCache(itemsCacheKey, itemsCacheData); // } } else { items = MediaDetailsMapper.GetAllParentMediaDetails(this.BasePage.CurrentMediaDetail, this.BasePage.CurrentLanguage).ToList(); } Bind(items); }
public IEnumerable <IMediaDetail> GetParentMediaDetails() { return(MediaDetailsMapper.GetAllParentMediaDetails(this, Language).Reverse().ToList()); }